2013-08-21 59 views
-1

我使用以下htaccess代码将我的网站site.com/page.php?id=1重写为site.com/page/1。htaccess重写规则在子目录中不起作用。

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

如果我将8个重写规则添加到主htaccess文件,它可能会增加执行时间。所以我打算创建像页面这样的目录,并在每个文件中放置一个新的htaccess文件。

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

但是这段代码不起作用。

回答

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] 

并没有真正增加显著(除非你是一个很慢的服务器上),其执行时间。

+0

我正在使用VPS,那么我可以继续我已经遵循的8条规则是什么? –

+0

@RahulR这是一个权衡。你想要8个规则的1个htaccess文件吗?或者你有8个不同的目录中有8个htaccess文件和1个规则?当然,使用1条规则获得8个htaccess文件的速度会稍微快一些,但您可能永远无法分辨出差异。 –