我有一个 Codeigniter 站点,可以在我的本地 XAMPP 服务器上正常运行,但现在我已将其移至共享主机,当我单击任何链接时,我会收到 403 禁止错误。主页显示正常,但任何带有 slug 的页面都会产生 403 错误。例如
http://xxxxxxxxxxx/~test/
工作正常
http://xxxxxxxxxxx/~test/about-us
产生 403 错误。
我看到了这个问题,但是我的应用程序文件夹及其子文件夹和文件都已经拥有 755 的权限。
我的基本网址设置为
http://xxxxxxxxxxx/~test/
我的 .htaccess 看起来像这样:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt|static)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
编辑:如果它有所作为,我应该说我修改了核心 router.php(我知道创建自己的 MY_router.php 更好,但无论如何)以允许 URL 中的连字符:
$segments = $this->_validate_request(str_replace('-','_',$segments));
但我试着把它改回
$segments = $this->_validate_request($segments);
它没有任何区别。
编辑2:
另一个更新。它适用于这样的 URL:
http://xxxxxxxxxx/~test/about-us/consultancy
只是没有这个
http://xxxxxxxxxx/~test/about-us
虽然这确实有效:
http://xxxxxxxxxx/~test/about-us/