我有一个像example.org这样的停放域名和一个像example.ir这样的主域名 我希望当用户处于停放域并转到example.org/checkout重定向到example.ir/checkout时 仅适用于此页面,且仅当用户处于托管域时。 我使用此代码但不起作用:
RedirectMatch 301 https://example.org/checkout(.*) https://example.ir/checkout$1
我该怎么办?
答案 0 :(得分:1)
在mod_alias
RedirectMatch
中,您应该从旧URI中的斜杠开始,如下所示:
RedirectMatch 301 /old(.*) https://example.com/new$1
通常情况下,如果从主域到其他域的路径如此,在您的情况下,您应该使用mod_rewrite
,如下所示:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?example.org$ [NC]
RewriteRule ^checkout(.*)$ https://%1example.ir/checkout$1 [R=301,L]
根据上述规则,您首先检查请求是否包含example.org
,然后检查URI是否以checkout
开头,然后将其重定向到主域。
注意:清除浏览器缓存,然后对其进行测试。
答案 1 :(得分:1)
您可以使用以下内容:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?example\.org$
RewriteRule ^checkout/?$ http://example.ir%{REQUEST_URI} [L,R]
确保在测试之前清除浏览器缓存。
答案 2 :(得分:0)
在托管域名服务器中尝试使用以下规则
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/checkout
RewriteRule ^(.*)$ https://example.ir/$1 [R=302]