我有一个 drupal 应用程序和 2 个用 php 编写的其他应用程序,我想为 drupal 使用重写 uri,并将 drupal 放在虚拟根目录中,另一个按名称放置……并为每个应用程序的 img 使用服务器缓存。
前任 :
- xxx.com 或 xxx.com/ --> /var/www/xxx.com/drupal/
- xxx.com/app1 或 xxx.com/app1/ ----> /var/www/xxx.com/app1/
- xxx.com/app2 或 xxx.com/app2/ ----> /var/www/xxx.com/app2/
我已经测试过:别名、每个位置的 root、条件 $request_uri、单独的配置...并且总是一个错误:img 路径、php 路径、所有应用程序或 drupal 之一的 404
所以我真的迷路了......
这是一个测试(也许是一些好东西):
# enforce www
if ($host !~* ^(www)) {
rewrite ^/(.*)$ $scheme://www.$host/$1 permanent;
}
location / {
root /var/www/gplaza.cl/Drupal;
index index.php index.html;
if (!-f $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
if (!-d $request_filename) {
rewrite ^(.*)$ /index.php?q=$1 last;
break;
}
}
location /app1/ {
alias /var/www/gplaza.cl/app1/;
index index.php;
}
location /app2/ {
alias /var/www/gplaza.cl/app2/;
index index.php;
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/xxx.com$fastcgi_script_name;
}
location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ {
set $static_content /var/www/xxx.com/Drupal;
if ($request_uri ~ ^/app1) {
set $static_content /var/www/xxx.com/app1;
}
if ($request_uri ~ ^/app2) {
set $static_content /var/www/gplaza.cl/app2;
}
expires 30d;
access_log off;
root $static_content;
}
thank a lot if anybody can help me :)