我有另一个重定向问题。我试图为一些重定向添加一个条件(我在同一个文件中有50+)。工作的重定向只是域条件,这意味着如果%{HTTP_HOST}匹配,那么它就是。现在我正在尝试与其中一些做到这一点,但也只需要重定向特定文件夹的东西。这就是我所拥有的:
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/some/page.php
RewriteCond %{HTTP_HOST} (^|\.) domain\.com$
RewriteRule ^ https://www.example.com/some/new/page/ [R=301,L]
简单地说,我正在尝试匹配特定的域和URI,并将其转发到新的域和页面。例如: domain.com/account/blah.php
重定向到 www.example.com/some/new/page /
同时我还有另一个域的重定向,如果没有URI,它们都是这样指定的:
RewriteEngine on
RewriteCond %{HTTP_HOST} (^|\.) domain\.com$
RewriteRule ^ https://www.example.com/some/other/new/page/ [R=301,L]
RewriteCond %{REQUEST_URI} ^/some/page.php
RewriteCond %{HTTP_HOST} (^|\.) domain\.com$
RewriteRule ^ https://www.example.com/some/new/page/ [R=301,L]
知道我做错了吗?
答案 0 :(得分:1)
<IfModule mod_rewrite.c>
RewriteEngine On
# Check domain matched but uri doesn't
RewriteCond %{HTTP_HOST} (^|\.) domain\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/some/page.php [NC]
RewriteRule ^ https://www.example.com/some/new/page/ [R=301,L]
# Check domain matches and uri matches
RewriteCond %{HTTP_HOST} (^|\.) domain\.com$ [NC]
RewriteCond %{REQUEST_URI} ^/some/otherpage.php [NC]
RewriteRule ^ https://www.example.com/some/other/new/page/ [R=301,L]
</IfModule>