我在配置nginx以从一个域服务Xenforo和MODx时遇到了很大的困难。我已经尝试了数百次调整,阅读了我能做的一切,几乎让它正常工作......但没有雪茄。
问题的症结似乎是MODx重写劫持了我的xenforo / xf /位置,并且没有/ xf / URL将解决任何问题,而是触发MODx默认404错误页面。
完整服务器块是;
server {
## HTTPS server essentials
listen 443;
server_name www.mysite.com.au;
## Common Server block SSL config
include "/opt/bitnami/nginx/conf/bitnami/ssl-apps.conf";
## Xenforo location
location ^~ /xf/ {
root /opt/bitnami/apps/xenforo;
## SEO friendly urls
try_files $uri $uri/ /xf/index.php?$uri&$args;
location ~ \.(php)$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_read_timeout 300;
fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;
fastcgi_index index.php;
fastcgi_ignore_client_abort on;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
## MODx
root /opt/bitnami/apps/mysite.com.au/htdocs;
try_files $uri $uri/ ;
location ~ \.(php|html)$ {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_read_timeout 300;
fastcgi_pass unix:/opt/bitnami/php/var/run/www.sock;
fastcgi_index index.php;
fastcgi_ignore_client_abort on;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
if (!-f $request_filename) {
rewrite ^/(.*)$ /index.php?q=$1 last;
}
}
但是,如果我将MODx正则表达式重写更改为;
^/(.*).html$
然后100%的xenforo URI解析并且几乎的所有内容都有效,除了没有尾随/index.html的MODx目录uris无法解析(即www.mysite.com.au/content1 /将失败)。
我研究了级联优先级的迷宫,并承诺在过去10小时内测试至少80个或更多变化。无论我尝试什么,我都无法让/ xf / path与MODx重写一起生活得很好。
我需要解决目录路径的原因有很多,其中最重要的是多年的搜索引擎优化工作。
任何建议表示赞赏
答案 0 :(得分:0)
让它合作;
rewrite ^/(.*).html$ /index.php?q=$1 last;