Nginx

Joomla 的 nginx 重寫規則!

  • July 21, 2016

我已經從儲存庫(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 {
全部否認;
}
}

引用自:https://serverfault.com/questions/154264