CakePHP HTAccess 500内部服务器错误,404找不到页面错误

时间:2012-06-27 12:06:59

标签: .htaccess cakephp

我正在使用CakePHP 1.2版本,当我在Live Server上传我的网站时,它会给我500 Internal Server Error

当我在mod_rewrite函数中检查phpinfo时,它不可见,但在同一台服务器上另一个Joomla网站运行完全正常,没有任何htaccess或路径重写问题,而且用于htaccess的Joomla的AceSEF组件页面/路径,所以我相信这是Shared server它必须是这样的。

我尝试了不同的选项,例如在root .htaccess文件中添加'RewriteBase /'或者在app / webroot / .htaccess文件中尝试相同但没有解决方案适用于我。

即使我在root .htaccess和app / .htaccess文件中写了'RewriteBase /',错误也会更改为400 Page Not Found。我不知道为什么。

以下是.htaccess代码:

root .htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule    ^$ app/webroot/    [L]
RewriteRule    (.*) app/webroot/$1 [L]
</IfModule>

app / .htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule    ^$    webroot/    [L]
RewriteRule    (.*) webroot/$1    [L]
</IfModule>

app / webroot / .htaccess文件:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>

我已阅读过一些链接,例如:Apache-and-mod_rewrite-and-htaccess虽然没什么帮助

此错误的任何答案或解决方案?非常感谢!!

谢谢

1 个答案:

答案 0 :(得分:0)

检查重写模块是否在apache的已启用模块中链接。就像你说它没有在phpinfo()中列出所以模块可能没有启用,joomla有一些解决方法。

(使用以下命令需要您自担风险,需要root访问权限) 在debian / ubuntu下; apache2启用类似的模块

cd /etc/apache2/mods-enabled/
ln -s ../mods-available/rewrite.load rewrite.load

你必须重启apache2

service apache2 restart

然后应该启用模块!所以再试一次。

或者,告诉您尝试打开的网址!