我有以下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 - 任何想法如何可行?
答案 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]