2011-08-17 52 views
0

即时具有以下modrewrite结构:htaccess的问题

/links/ 
/links/web/ 
/links/travel/ 
.. 

相应htaccess的将是:

RewriteRule ^links/ links.php [L] 
RewriteRule ^links/web/ links.php?catID=1 [L] 
RewriteRule ^links/travel/ links.php?catID=2 [L] 

的问题是,根连杆(第一行)之前将始终触发实际的分类链接。 有没有办法解决这个问题?我发现的唯一方法是修改根链接:

^links/index.html 

但我想省略index.html - 任何想法如何这可能?

+0

为什么不把第一个重写规则其他的RewriteRules后? – 2011-08-17 12:23:58

回答

5

添加$

RewriteRule ^links/$ links.php [L] 

这意味着该URL的末尾。

另外,如果您评估$_SERVER["REQUEST_URI"],您也可以在PHP中进行检查。

1

只是将其颠倒。如果没有/ web /再次检查/ links/

RewriteRule ^links/travel/ links.php?catID=2 [L] 
RewriteRule ^links/web/ links.php?catID=1 [L] 
RewriteRule ^links/ links.php [L] 
1

把第一行最后一行;这样,它会在其他人之后执行。

1

添加以下重写规则第一可能做到这一点(我没有测试):

RewriteRule ^links/$ links/index.html [L]