无法实现此htaccess重定向
P粉806834059
P粉806834059 2024-04-04 23:43:51
0
1
1363

我有一个 maindomain.com,其中包含一个网站,这里的一些页面应该暂时重定向到我的子域 tmp.maindomain.com。 所以我使用了这个重定向,它重定向到 tmp.maindomain.com 并且我得到一个无限循环重定向到 tmp.maindomain.com

redirect 301 /mypage.php https://tmp.maindomain.com/mypage.php

我的目标是,如果任何用户尝试访问 https://www.maindomain.com/mypage.phphttps://maindomain.com/mypage.php 他应该被重定向 302 到 https://tmp .maindomain.com/mypage.php

谢谢你们的帮助。

P粉806834059
P粉806834059

全部回复(1)
P粉593649715

如果子域和主域指向同一位置(或后者的子目录),则会出现无限循环。

在这种情况下,您将需要使用 mod_rewrite(而不是 mod_alias)并显式检查请求的主机名。

但您还使用了 301 永久重定向。您需要使用 302 来代替。 301由浏览器持久缓存,因此在测试之前需要确保清除所有缓存。

在子域的 .htaccess 文件的顶部、任何现有的 mod_rewrite 指令之前尝试以下操作。

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(www\.)?maindomain\.com [NC]
RewriteRule ^mypage\.php$ https://tmp.maindomain.com/rrreee [R,L]

请注意,RewriteRule 模式(第一个参数)匹配的 URL 路径不以斜线开头(与 mod_alias Redirect 不同)指令)。

$0 反向引用包含与整个 RewriteRule 模式 匹配的 URL 路径。 IE。本例中为 mypage.php。这只是节省了重复,因为您重定向到目标处的相同 URL 路径。

这默认为 302 临时重定向。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!