我有以下页面结构:
我希望他们按照以下方式工作:
我尝试了以下但未成功(mod_rewrite已启用且已确认正常工作):
RewriteRule ^([^/]*)/([^/]*)\.html$ /careers.php?cat=$1&url=$2 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /page.php?cat=$1&url=$2 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /article.php?cat=$1&url=$2 [L]
答案 0 :(得分:4)
你的正则表达式是相同的,因此,Apache每次都会落入第一个。
您可以使用网址的第一部分重定向到已知网页(职业,博客),然后使用您的表达式来覆盖所有其他网页:
RewriteRule ^careers/([^/]*)\.html$ /careers.php?cat=careers&url=$1 [L]
RewriteRule ^blog/([^/]*)\.html$ /article.php?cat=blog&url=$1 [L]
RewriteRule ^([^/]*)/([^/]*)\.html$ /page.php?cat=$1&url=$2 [L]