为什么这个RewriteRule坏了?

时间:2010-09-22 22:11:18

标签: .htaccess mod-rewrite

好的伙计们,我很茫然。

RewriteCond %{HTTP_HOST} ^domain.nl$
RewriteRule ^(.*)$ poker/$1 [L]

给我一​​个500错误。如果我删除重定向并转到/ poker /手动它可以工作。如果我用这个:

RewriteCond %{HTTP_HOST} ^domain.nl$
RewriteRule ^$ poker/ [L]

显示首页(但css没有显示,因为很明显/ /之后没有重定向。

什么可能导致此(.*)中断?

在此规则之前删除www:

RewriteCond %{HTTP_HOST} ^www\.([a-z-]+)\.([a-z]{2,3})
RewriteRule ^(.*)$ http://%1.%2/$1 [R=301,L]

之后什么都不会干扰。

1 个答案:

答案 0 :(得分:0)

这很容易。

RewriteCond %{HTTP_HOST} ^domain.nl$
RewriteRule ^(.*)$ poker/$1 [L]

给出无限循环。我只需要添加:

RewriteCond %{HTTP_HOST} ^domain.nl$
RewriteCond %{REQUEST_URI} !^/poker
RewriteRule ^(.*)$ poker/$1 [L]

(或者我刚刚发现,在/ poker / dir中只用RewriteEngine On创建一个空的.htaccess也可以做到这一点。)