Wordpress 永久链接 - NGINX Conf(未指定输入文件错误)
Wordpress Permalinks - NGINX Conf (No input file specified Error)
这是我当前在 nginx 网络服务器上的 /etc/nginx/conf.d/default.conf 文件的设置。我有一个 Wordpress 安装,我正在尝试像这样使用漂亮的永久链接结构:http://XXX.XXX.XX.X/kiosks/%postname%/
当前收到 "No input file specified." 错误。下面是我的 default.conf:
#
# The default server
#
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
# location / {
# root /usr/share/nginx/html;
# index index.php index.html index.htm;
# }
location /kiosks {
index index.php index.html index.htm;
try_files $uri $uri/index.php?$args;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
解决方案:
#
# The default server
#
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
# location / {
# root /usr/share/nginx/html;
# index index.php index.html index.htm;
# }
location @wp {
rewrite ^/kiosks(.*) /kiosks/index.php?;
}
location /kiosks {
alias "/usr/share/nginx/html/kiosks/"; #where wp actually is
try_files $uri $uri/ @wp;
location ~ \.php$ {
try_files $uri =404;
fastcgi_read_timeout 300s;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
# location /kiosks {
# try_files $uri $uri/index.php?$args;
# index index.php index.html index.htm;
# }
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
这是我当前在 nginx 网络服务器上的 /etc/nginx/conf.d/default.conf 文件的设置。我有一个 Wordpress 安装,我正在尝试像这样使用漂亮的永久链接结构:http://XXX.XXX.XX.X/kiosks/%postname%/
当前收到 "No input file specified." 错误。下面是我的 default.conf:
#
# The default server
#
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
# location / {
# root /usr/share/nginx/html;
# index index.php index.html index.htm;
# }
location /kiosks {
index index.php index.html index.htm;
try_files $uri $uri/index.php?$args;
}
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}
解决方案:
#
# The default server
#
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;
# location / {
# root /usr/share/nginx/html;
# index index.php index.html index.htm;
# }
location @wp {
rewrite ^/kiosks(.*) /kiosks/index.php?;
}
location /kiosks {
alias "/usr/share/nginx/html/kiosks/"; #where wp actually is
try_files $uri $uri/ @wp;
location ~ \.php$ {
try_files $uri =404;
fastcgi_read_timeout 300s;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $request_filename;
include fastcgi_params;
}
}
# location /kiosks {
# try_files $uri $uri/index.php?$args;
# index index.php index.html index.htm;
# }
error_page 404 /404.html;
location = /404.html {
root /usr/share/nginx/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
include fastcgi_params;
}
}