如何从Joomla网址中删除index.php
?例如:
http://domain.com/index.php/webpage
应该成为
http://domain.com/webpage
我一直在按照我发现的一些指南进行操作,但这一切都会导致重定向循环,404或内部服务器错误。我需要一些指导。
这是我当前的配置(不包括失败尝试)。
server {
listen [::]:80;
server_name www.domain.com;
return 301 http://domain.com$request_uri;
}
server {
listen [::]:80;
server_name domain.com;
root /usr/share/nginx/www;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~/favicon.ico {
access_log off;
log_not_found off;
}
location ~ \.php$ {
try_files $uri /index.php;
include fastcgi_params;
fastcgi_pass unix:/var/run/php5-fpm.sock;
}
access_log /var/log/nginx/$host-access.log;
error_log /var/log/wpms-error.log;
}
答案 0 :(得分:1)
如何从Joomla网址中删除
index.php
? 例如:http://example.com/index.php/webpage
应该成为http://example.com/webpage
。 我一直在关注我发现的一些指南,但这一切都会导致重定向循环......
正如nginx redirect loop, remove index.php from url所述,您需要这样的内容以确保没有任何重定向循环:
index index.php index.html index.htm;
if ($request_uri ~ "^/(.*)(?<=/)index\.php/?((?<=/).*)?$") { return 301 /$1$2; }
以上假设已经通过其余配置正确处理了省略URL的index.php
部分。