0

我工作的 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 托管的。


这些网站已经有一段时间没有更新了,尽管我摆弄我没有成功,所以非常欢迎任何建议。

4

1 回答 1

0

在服务器的 PHP 已升级的站点上工作的东西:

在 config/site.php 添加:

define('SERVER_PATH_VARIABLE', 'REQUEST_URI');
define('DIR_REL', '');
于 2013-08-22T19:32:28.210 回答