我已经从存储库 (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,它工作得很好(使用友好的 URL 并在 Joomla 中启用 Apache mod_rewrite!),但如果我尝试 /joomla/joomla-overview/what-is-new-in-1-5,我会得到一个错误。
您认为这里发生了什么?您是否知道其他可以使其正常工作的设置,最好是在我现在的环境中?
提前感谢您的支持。
附言:请别介意,我没有找到太多与我的问题相关的帮助。我尝试了不同的解决方案,但都无济于事。
答案1
我不确定这个问题是否已经解决,但是这个 nginx 配置适用于我的 joomla 安装。
服务器 { 服务器名称 example.com; 重写 ^ http://www.example.com$request_uri 永久; } 服务器 { 服务器名称www.example.com; 根/home/public_html/example.com/public; 错误页面 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)$ { 访问登录关闭; 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 内容类型 $内容类型; fastcgi_param 内容长度 $内容长度; } 位置 ~ /\.ht { 全部否认; } }