Nginx,MODx& Xenforo,共同生活 - > .conf挑战

时间:2017-08-28 07:05:55

标签: mod-rewrite nginx modx xenforo

我在配置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重写一起生活得很好。

我需要解决目录路径的原因有很多,其中最重要的是多年的搜索引擎优化工作。

任何建议表示赞赏

1 个答案:

答案 0 :(得分:0)

让它合作;

rewrite ^/(.*).html$ /index.php?q=$1 last;