![](/img/trans.png)
[英]htaccess rewrite rule to redirect specific page on specific domain to another url
[英].htaccess rewrite rule to redirect all pages from one domain to another EXCEPT for one specific URL?
我已经浏览了至少 50 个不同的问题和关于这个主题的帖子,并尝试了一切,但仍然无法弄清楚如何做到这一点。
我需要将所有页面/URL 从 domain1.com 重定向到 domain2.com,除了像 domain1.com/paypal/ipn 这样的特定 URL(以防止 Paypal IPN 通知被破坏......长话短说)。
我如何根据 RewriteRules 和 RewriteConds 来实现/编写它...?
我已经尝试了一切,我可以轻松地将 domain1.com 重定向到 domain2.com:
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC]
RewriteRule (.*) https://www.domain2.com%{REQUEST_URI} [R=301,L]
但是另一个要求,要忽略并跳过以任何方式重定向的特定 URL,到目前为止没有任何效果......
任何人?
要从重定向中排除特定页面,您可以使用以下内容:
RewriteCond %{REQUEST_URI} !/paypal/ipn [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC]
RewriteRule (.*) https://www.domain2.com%{REQUEST_URI} [R=301,L]
如果要排除多个页面或 URI,您可以使用带有 OR 标志的RewriteCond
或在规则中使用基于正则表达式的模式
多重条件:
RewriteCond %{REQUEST_URI} !/paypal/ipn [NC,OR]
RewriteCond %{REQUEST_URI} !/foo/bar [NC]
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC]
RewriteRule (.*) https://www.domain2.com%{REQUEST_URI} [R=301,L]
基于正则表达式的模式:
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com$ [NC]
RewriteRule !(page1|page2) https://www.domain2.com%{REQUEST_URI} [R=301,L]
在测试这个新的 301 reditect 之前,请确保清除浏览器缓存。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.