我已经阅读了很多与此主题相关的问题,但我找不到解决方案。我想结合两个mod_rewrite规则:
为此,我创建了以下两条规则:
RewriteRule ^(.*)\.html$ index.php?page=$1
RewriteRule ^article/(.*)\.html$ index.php?article=$1
只要它们单独使用,它们都能正常工作。我认为错误可能是因为第一条规则,它用/ article / ...重写每个URL也是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 但是如果我输入< strong> ... /article/test.html 我只能 ... /index.php?page=index.php/test 而不是 ... / index .PHP?文章=测试
此外,我不希望它重写存储在 / admin 中的任何内容,但RewriteCond %{REQUEST_URI} !/admin$
也不起作用。
答案 0 :(得分:0)
我自己找到了解决方案。第3行中的条件是错误的,实际上应该说RewriteCond %{REQUEST_URI} !/article/(.*)\.html$
以便将所有内容包含在 ... / article / 目录中,而不仅仅是 ... / article / 本身。