htaccess问题

时间:2011-08-17 12:21:43

标签: php .htaccess

我有以下modrewrite结构:

/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 - 任何想法如何可行?

4 个答案:

答案 0 :(得分:5)

添加$

RewriteRule ^links/$ links.php [L]

它表示网址的结尾。

或者,如果您评估$_SERVER["REQUEST_URI"],则可以在PHP中进行检查。

答案 1 :(得分:1)

反过来吧。如果没有/ web /检查/ links /再次

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

答案 2 :(得分:1)

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

答案 3 :(得分:1)

首先添加以下RewriteRule可能会这样做(我还没有测试过):

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