.htaccess 使用哈希重定向到子域 url
Posted
技术标签:
【中文标题】.htaccess 使用哈希重定向到子域 url【英文标题】:.htaccess redirect to subdomain url with hash 【发布时间】:2021-04-08 21:14:20 【问题描述】:我正在尝试使用以下 url 结构重定向网站:
https://example.com/2021/about
到
https://2021.example.com/#about
https://example.com/2021/visit
到
https://2021.example.com/#visit
我该怎么做?
我尝试将其添加到原始域中的 /about 目录:
RewriteEngine on
RewriteBase /
RewriteRule (.*) https://2021.example.com/#about [R=301,NE, L]
但是重定向后我得到的是
https://2021.example.com/#about2021/about
这是不对的。任何帮助表示赞赏
[编辑] 我只想将此应用于某些文件夹,例如 /2021/about 和 2021/visit
【问题讨论】:
【参考方案1】:您可以使用此重定向规则:
RewriteEngine On
RewriteCond %HTTP_HOST ^(?:www\.)?(example\.com) [NC]
RewriteRule ^(20\d2)/(.+?)/?$ https://$1.%1/#$2 [R=301,L,NE]
确保这是您在 .htaccess 中的最高规则,并在测试此新规则之前清除浏览器缓存。
【讨论】:
正如我在我编辑的帖子中提到的,这将影响所有文件夹。但我只想重定向一些文件夹,如 /2021/about 和 2021/visitthis will affect all folders
- 不,它没穿。如果您仔细观察,它与 20\d2
匹配,这意味着它只会重定向以 2020/
、2021/、2022/` 等开头的 URI。
如果总是2021
,那么规则就是:RewriteRule ^(2021)/(.+)$ https://$1.%1/#$2 [R=301,L,NE]
好的,但目前我在最终网址https://2021.example.com/#about/
上得到一个斜杠,是否可以删除哈希中的斜杠?还是我必须在子域上处理的事情?
是的,可以解决。立即查看我的更新答案。【参考方案2】:
您能否尝试以下,根据您显示的示例编写。请确保在测试您的 URL 之前清除您的浏览器缓存。以下仅适用于 2021/about
或 2021/visit
uris。
RewriteEngine ON
RewriteCond %HTTP_HOST (example\.com) [NC]
RewriteRule ^(2021)/(about|visit)/?$ http://$1.%1/#$2 [R=301,NC,NE,L]
【讨论】:
如果我使用这个,它也会重定向其他文件夹吗?我只想要一些文件夹,例如 /2021/about 和 2021/visit @wsgg,好的,请检查我更新的答案,如果对您有帮助,请告诉我。以上是关于.htaccess 使用哈希重定向到子域 url的主要内容,如果未能解决你的问题,请参考以下文章