我有运行php 7 fpm的nginx。
我的Wordpress永久链接设置为/%postname%/
。假设我的域名为example.com
我希望有这样的永久链接:example.com/postname/
但这会导致错误。我可以通过以下链接找到帖子:example.com/index.php?postname/
如何摆脱链接中的index.php?
?
我的Nginx配置
server {
server_name localhost;
root /var/www/;
index index.html index.htm index.php;
location ~\.php$ {
try_files $uri =404;
fastcgi_pass php:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_param REQUEST_URI $args;
}
location / {
try_files $uri $uri/ /index.php$args;
}
location /wordpress/ {
try_files $uri $uri/ /wordpress/index.php?$args;
}
}
答案 0 :(得分:0)
您的问题暗示WordPress已安装在location /
,因此我不确定您为什么还有location /wordpress
。
您的配置存在一些问题。
REQUEST_URI的值应设置为$request_uri
,这可能已经是fastcgi_params
文件中的默认值。这是index.php
用于解码非常永久链接的参数。
删除第fastcgi_param REQUEST_URI $args;
行。
您的try_files
语句缺少?
。使用:
try_files $uri $uri/ /index.php?$args;
或者:
try_files $uri $uri/ /index.php;
我发现WordPress不需要将$args
传递给/index.php
。