我在一个cakephp网站上遇到了太多重定向的问题。
以下是网站:http://pexinxas24.com/
此域名指向网站的根目录,而不是指向应用程序文件夹。
以下是放在根文件夹的htaccess中的代码。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
这是代码,它位于app文件夹的htaccess中。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
我没有得到任何类型的PHP或cakephp错误。
此网站始终重定向到网站的根目录。整个代码在旧服务器上正常工作。我刚刚更改了服务器并收到此错误。
答案 0 :(得分:3)
看起来您正在使用Amazon-EC2吗? ;)
好吧,可能是因为下一个原因你没有被重定向:
mod_rewrite它未启用:查看你的httpd.conf,你应该取消注释下一行:
LoadModule rewrite_module modules / mod_rewrite.so
您尚未在htaccess中启用覆盖:查看您的http.conf中的内容 指令“目录”,你应该有这样的东西:
<Directory "/var/www/html"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
上一代码中最重要的一行是 AllowOverride All ,默认情况下亚马逊实例设置为AllowOverride none,因此您应该将其更改为全部,之后您必须重新启动Apache服务器以反映更改。
希望它有所帮助。
答案 1 :(得分:0)
这是一个老线程。 也许如果你了解apache2 Ismael的答案已经足够了,但如果你像我一样是这个主题的新手,可能会说有用,现在你应该“替换”那里的第一部分他说
mod_rewrite它没有启用:查看你的httpd.conf,你应该让下一行取消注释: LoadModule rewrite_module modules / mod_rewrite.so
将 rewrite.load 从 mods-available 复制到 mods-enabled :
cp /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load