我工作的Conrete5网站最近在所有管理页面上开发了“无输入文件指定”问题。问题的根源似乎是管理页面在URL中有一个不必要的/index.php。即。
www.example.com/index.php/login/do_login......
如果从URL中删除了/index.php部分,页面将加载(尽管所有引用的文件仍然会有/index.php,因此无法加载)。
我在子目录中运行具体但页面URL来自root,例如
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>
我打开了漂亮的网址,这是我具体子目录中的.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。
这些网站现在一直没有更新,尽管我没有成功,但我没有成功,所以任何建议都非常欢迎。
答案 0 :(得分:0)
在升级服务器的PHP的网站上运行的东西:
在config / site.php中添加:
define('SERVER_PATH_VARIABLE', 'REQUEST_URI');
define('DIR_REL', '');