htaccess重写规则在子目录中不起作用。

时间:2013-08-21 08:21:08

标签: .htaccess

我使用以下htaccess代码将my url site.com/page.php?id=1重写为site.com/page/1。

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

如果我向主htaccess文件添加8个重写规则,可能会增加执行时间。因此,我计划创建像页面这样的目录,并在每个目录中放置一个新的htaccess文件。

RewriteEngine On
RewriteRule (.*) index.php?id=$1 [L]

但是这段代码不起作用。

1 个答案:

答案 0 :(得分:1)

该规则将循环。您需要添加一些条件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php?id=$1 [L]

但是有8个这样的规则:

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

并没有真正显着增加执行时间(除非你的服务器很慢)。