如何将我的用户从example.com /或www.example.com重定向到new.example.com
但我不想重定向某些特定的网址,例如:
www.example.com/test.php
api.example.com/testo.php
www.example.com/forum/index.php
我做了:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]
但网址的规则是什么?
答案 0 :(得分:0)
执行此操作的一种方法是在.htaccess文件中为先前重定向到自身的特定URL(内部,不使用3XX响应)创建其他规则,然后使用L标志,以便不再处理以后的规则对于那些网址。
例如:
RewriteEngine on
# don't redirect these
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/test.php)$ \1 [L]
RewriteCond %{HTTP_HOST} ^api.example.com$
RewriteRule ^(/testo.php)$ \1 [L]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(/forum/index.php)$ \1 [L]
# redirect these
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^(.*)$ http://new.example.com/$1 [R=301,L]
我不确定您的“不重定向”要求是否包含主机名。如果没有,那么只需删除RewriteCond行。