我工作的 Conrete5 网站最近在所有管理页面上都出现了“未指定输入文件”问题。问题的根源似乎是管理页面在 URL 中有一个不必要的 /index.php。IE
www.example.com/index.php/login/do_login......
如果 /index.php 部分从 URL 中删除,则页面将加载(尽管所有引用的文件仍将具有 /index.php,因此无法加载)。
我在子目录中有具体运行,但页面网址来自根目录,例如
www.example.com/concrete-page-title...
这是我根目录中的 .htaccess 文件,将具体请求中继到具体子目录。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !(\.|/$)
RewriteRule (.*) http://www.example.co.uk/$1/ [R=301,L]
RewriteCond %{HTTP_HOST} ^example.co.uk$
RewriteRule ^/?(.*)$ http://www.example.co.uk/$1 [R=301,L]
# redirect concrete
RewriteCond %{REQUEST_URI} !^/concrete
# permit normal access to wordpress installation
RewriteCond %{REQUEST_URI} !^/news
RewriteRule ^(.*)$ concrete/$1 [L]
</IfModule>
我打开了漂亮的 url,这是我的具体子目录 (/concrete) 中的 .htaccess 文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME}/index.html !-f
RewriteCond %{REQUEST_FILENAME}/index.php !-f
RewriteRule . index.php [L]
</IfModule>
旁注:(
cgi.fix_pathinfo=1
已改为0,无变化)
该网站不是由 GoDaddy 托管的。
这些网站已经有一段时间没有更新了,尽管我摆弄我没有成功,所以非常欢迎任何建议。