2011-12-05 24 views
1

我得到一个500内部服务器错误具有以下子文件夹:重定向子域不含有的index.php与htaccess的

RewriteCond %{HTTP_HOST} ^data\.mysite\.com$ [NC] 
RewriteRule ^(.*)$ data/$1 [L,QSA] 

--------------- - ??? 当我通过以下替换重写规则行:

RewriteRule ^(.*)$ data/index.php?r=$1 [L,QSA] 

它的工作原理,但在现实情况下,我不会有一个index.php文件的文件夹中,我将有包含图片的文件夹...

任何想法?? 原始问题here

+0

500内部错误应该在错误日志的详细信息。这些要求在那里说了什么? – pgl

+0

我没有在该文件夹中的error_log文件! –

回答

1

您的重写规则正在循环,每次重写URI时,它都会重新应用于所有规则,直到规则不更改URI。所以,当你要求/东西,重写规则得到应用和URI更改为/数据/东西,那么它是通过重写引擎反感,那么它就会被改写,然后/数据/数据/东西/data/data/data/something等等。最后mod_rewrite将达到它的递归限制并返回一个500服务器错误。您可以尝试一些事情来结束循环,假设您真的只想在开始时追加一个单独的/data/。您可以前添加下面的一个你RewriteRule

RewriteCond %{REQUEST_URI} ^/data 

RewriteCond $1 ^/data