【发布时间】:2014-03-24 01:38:34
【问题描述】:
我已经阅读了许多与此主题相关的问题,但我找不到解决方案。我想结合两个 mod_rewrite 规则:
- ... /filename.html 到 ... /index.php?page=filename
- ... /article/name 到 ... /index.php?article=name
为此,我创建了以下两条规则:
RewriteRule ^(.*)\.html$ index.php?page=$1RewriteRule ^article/(.*)\.html$ index.php?article=$1
只要单独使用,它们都可以正常工作。我认为错误可能是由于第一条规则而发生的,它用 /article/... 重写了每个 URL,这就是为什么我尝试了以下方法,但它仍然不起作用:
RewriteEngine on
RewriteRule ^article/(.*)\.html$ index.php?article=$1
RewriteCond %{REQUEST_URI} !/articles$
RewriteRule ^(.*)\.html$ index.php?page=$1
如果我尝试转到 ... /test.html 我已经得到 ... /index.php?page=test 但是如果我输入 ... /article/test.html 我只得到 ... /index.php?page=index.php/test 而不是 ... /index .php?article=test.
此外,我不希望它重写存储在 /admin 中的任何内容,但 RewriteCond %{REQUEST_URI} !/admin$ 也不起作用。
【问题讨论】:
标签: apache .htaccess mod-rewrite