Nginx
Joomla 的 nginx 重寫規則!
我已經從儲存庫(v0.7.65)在 Ubuntu 上安裝了 nginx,雖然使用我的預設站點配置可以使用 WordPress 漂亮的 URL 和 nginx 兼容外掛(到目前為止)創造奇蹟,但它不適用於 Joomla!。這是配置:
server { listen 80 default; server_name localhost; access_log /var/log/nginx/localhost.access.log; root /var/www/nginx-default; location /wordpress { try_files $uri $uri/ @wordpress; } location /joomla { try_files $uri $uri/ @joomla; } # Configuración para instalaciones de WordPress location @wordpress { fastcgi_pass 127.0.0.1:9120; fastcgi_param SCRIPT_FILENAME $document_root/wordpress/index.php; include fastcgi_params; } # Configuración para instalaciones de Joomla! location @joomla { fastcgi_pass 127.0.0.1:9120; fastcgi_param SCRIPT_FILENAME $document_root/joomla/index.php; include fastcgi_params; } # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ \.php$ { fastcgi_pass 127.0.0.1:9120; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
我得到它是為了向我展示索引、管理員和連結下方的一級。也就是說,如果我訪問 /joomla/joomla-overview,它工作得很好(在 Joomla 中啟用了友好的 URL 和 Apache mod_rewrite!),但是如果我嘗試 /joomla/joomla-overview/what-is-new-in-1 -5,我得到一個錯誤。
你認為這裡發生了什麼?您是否知道使其工作的其他設置,最好是在我現在擁有的環境中?
預先感謝您的支持。
PS:拜託,關於我的問題,我沒有找到太多幫助。我嘗試了不同的解決方案,但無濟於事。
我不確定這是否已經解決,但這個 nginx 配置適用於我的 joomla 安裝。
伺服器 { server_name example.com; 重寫 ^ http://www.example.com$request_uri 永久; } 伺服器 { server_name www.example.com; 根 /home/public_html/example.com/public; error_page 404 /404.html; try_files $uri $uri //index.php?q=$request_uri; 索引 index.php index.htm index.html; # 直接提供靜態文件 位置 ~* ^.+\.(jpg|jpeg|gif|css|png|js|ico|html)$ { access_log 關閉; 30天到期; } 位置 404.html{ 索引/404.html; } 位置 ~* \.php$ { # 如果需要,請務必為 fcgi 程序使用不同的伺服器 fastcgi_pass 127.0.0.1:9000; 包括/etc/nginx/fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param CONTENT_TYPE $content_type; fastcgi_param CONTENT_LENGTH $content_length; } 位置 ~ /\.ht { 全部否認; } }