原文链接:http://www.drupalproject.org/document/2014/06/nginx_config_for_drupal
drupal再nginx下开启rewrite简洁链接
环境配置:debian7.6 + nginx1.2.1+php5
Nginx开启方法:
在你的nginx配置文件(nginx/sites-available/default)下添加(红色部分):
server {
...
location / {
...
try_files $uri @rewrite;
}
...
location @rewrite {
# For Drupal 7
# 对于Drupal项目位于根目录的情况,e.g /document_root/drupal_project_files
#rewrite ^ /index.php;
# 对于Drupal项目位于根目录下子目录的情况,e.g /document_root/sub_dir/drupal_project_files
rewrite ^/([^/]*)/(.*)(/?)$ /$1/index.php?q=$2&$args;
# For Drupal 6 and below:
#rewrite ^/(.*)$ /index.php?q=$1;
}
...
}
//-------------------------------------------------
// 备注:default 全文
//-------------------------------------------------
server {
root /usr/share/nginx/www;
index index.html index.htm index.php;
server_name localhost;
location / {
index index.php;
autoindex on;
#try_files $uri $uri/ /index.php;
try_files $uri @rewrite;
}
location ~ .*\.(php|php5)?$
{
root /usr/share/nginx/www/;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
allow ::1;
deny all;
}
location @rewrite{
rewrite ^/([^/]*)/(.*)(/?)$ /$1/index.php?q=$2&$args;
}
}