Nginx
nginx 上的 Joomla - 刪除斜杠無法正常工作
我正在使用 nginx 1.10.3 執行 joomla 3.7.3,我在刪除尾部斜杠時遇到了問題。我打開了“搜尋引擎友好的 URL”,以及“使用 URL 重寫”。
我的 nginx conf 文件中有這些東西:
server { listen 80 default_server; listen [::]:80 default_server; root /var/www/folder; index index.php index.html index.htm default.html default.htm; rewrite ^/(.+)/$ /$1 permanent; server_name 000.000.00.000; server_name_in_redirect off; location / { try_files $uri $uri/ /index.php?$args; } location ~* /(images|cache|media|logs|tmp)/.*\.(php|pl|py|jsp|asp|sh|cgi)$ { return 403; error_page 403 /403_error.html; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } location ~ /\.ht { deny all; } }
它正在起作用,但只是部分起作用。網址如:
http://000.000.00.000/category/肯定變成了 http://000.000.00.000/category
但是當我嘗試訪問http://000.000.00.000/administrator/它現在無法訪問,並且 Chrome 說 ERR_TOO_MANY_REDIRECTS
我不知道如何解決這個問題,我也嘗試過替換:
location / { try_files $uri $uri/ /index.php?$args; }
有了這個:
location / { try_files $uri /index.php?$args; }
但是當我嘗試訪問http://000.000.00.000/administrator/>時,伺服器將我重定向回我的首頁<http://000.000.00.000/
請幫我解決這個問題。
目前
rewrite
發生在之前和不管try_files
裡面location
。在測試靜態文件後,您可以嘗試將其放在某個位置,例如
location / { try_files $uri $uri/ @joomlaurls; } location @joomlaurls { rewrite ^/(.+)/$ /$1 permanent; try_files $uri $uri/ /index.php?$args; error_page 404 = /index.php; }
聚會很晚,但是在尋找了幾個小時的解決方案之後,我似乎已經通過在“/”前面添加一個簡單的“~”來解決這個問題。
#Joomla public frontend application location ~ / { try_files $uri $uri/ /index.php?$args; }
現在,我的 SEF 網址中是否有斜杠並不重要。