HTACCESS规则导致跨网站404

时间:2014-06-12 14:41:13

标签: regex apache .htaccess mod-rewrite

我想重写以下网址:

http://domain.com/book.php?id=1

要:

http://domain.com/1

我在htaccess中设置了以下规则:

RewriteRule ^([^/]*)$ /book.php?id=$1 [L]

我不知道为什么这条规则会导致域上的所有内容返回404(未找到)的标头。文件中的其他规则没有效果,因为我尝试删除它们但仍然出现404。

1 个答案:

答案 0 :(得分:2)

使用RewriteCond

尝试此规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /book.php?id=$1 [L,QSA]