我在justhost.com帐户上遇到.htaccess文件的问题。我收到了持续的内部500错误,我在网上尝试了许多不同的解决方案。这是我的htaccess文件的样子:
ROOT HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
app / HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
app / webroot / HTACCESS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
问题是我在错误日志中得到了这个:
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
我已经尝试将RewriteBase设置为/但它没有解决问题。
答案 0 :(得分:13)
你必须在三个.htaccess文件中使用Rewrite base。根目录中包含目录app,lib,plugin和vendor的那个应该看起来像
<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 /app/
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
最后app / webroot / htaccess应该看起来像
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /app/webroot
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
如果您的lib不在根文件夹中,您还必须更改core.php中的值以将其映射到相关地址。为此,您可以查看烹饪书中的高级安装。
答案 1 :(得分:1)
检查您的文件权限。
关闭htaccess文件并写入echo 1;退出; index.php并检查天气是否显示。