我正在尝试将WordPress博客迁移到我网站的子目录(例如example.com/blog/)。使用NginX和FastCGI,我设法让整个WordPress站点在端口8080上运行,但是当我尝试应用规则将其放入/ blog时,我得到“未指定输入文件”
我认为因为我可以使用PHP和WordPress,我可以假设我的安装或相关文件夹的权限没有问题。
这就是我的虚拟主机的样子(我在“/”处运行一个rails网站):
server {
listen 80;
server_name example.com localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /blog/ {
root /home/deploy/www/blog.example.com/html;
index index.php;
try_files $uri $uri/ /blog/index.php;
}
location ~ \.php$ {
root /home/deploy/www/blog.example.com/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
location / {
root /home/deploy/www/example.com/public;
passenger_enabled on;
index index.html index.htm;
}
我也试过这个配置得到了同样的结果:
location ~ ^/blog/.*(\.php)?$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
root /home/deploy/www/blog.example.com/html;
try_files $uri =404;
# fastcgi_split_path_info ^(/blog/.+\.php)(.*)$;
#fastcgi_split_path_info ^(.+\.php)(/.+)$;
#NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
include fastcgi_params;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# fastcgi_intercept_errors on;
fastcgi_pass 127.0.0.1:9000;
}
我做错了什么?
答案 0 :(得分:0)
您是否正在使用WordPress和Multisite?
我不清楚您的设置,但此列表中的教程肯定会对您有所帮助:http://rtcamp.com/wordpress-nginx/tutorial
如果您可以分享更多详情,我可以更好地为您提供指导。
8080从哪里开始拍照?你使用Nginx和Apache ??
“未指定输入文件”看起来像是与PHP文件的错误位置相关的错误...
尝试更改
enter code here
fastcgi_index index.php;
到
try_files index.php blog/index.php
假设'blog'是您移动WordPress的文件夹。