HTACCESS: *.subdomain.domain.tld 重命名为 subdomain.domain.tld/*

发布于 2024-09-06 15:29:37 字数 257 浏览 5 评论 0原文

对于模糊的问题标题感到抱歉。

但无论如何,

我这里有一个子域,我希望传递通配符子子域,并进行适当的 htaccess 重定向到相当于通配符值的子文件夹(相对于服务器根目录),其中

*.subdomain.domain.tld will redirect to subdomain.domain.tld/*

* =

我希望 通配符值你明白我的问题了。有人可以解释一下吗?我将非常感激=)

sorry for the vague question title.

But anyways,

I have here a subdomain which i wish to pass on wildcard sub-subdomains and make a proper htaccess redirect to a sub-folder (relative to the server root) equivalent to the wildcard value such that

*.subdomain.domain.tld will redirect to subdomain.domain.tld/*

where * = wildcard value

I hope you get my question. Can someone shed some light on this? I would appreciate it very much =)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心病无药医 2024-09-13 15:29:37

RewriteRule ^(.*).subdomain.domain.tld$ http://subdomain.domain.tld/$1 [R]
那应该可以解决问题。

[R] 告诉服务器这是一个重定向。
您还可以使用可选代码,例如

[R=301] # Moved permanently
[R=302] # Moved temporarily
[R=403] # Forbidden
[R=404] # Not Found
[R=410] # Gone

RewriteRule ^(.*).subdomain.domain.tld$ http://subdomain.domain.tld/$1 [R]
That should do the trick.

The [R] tells the server that this is a redirect.
You can also use optional codes, say

[R=301] # Moved permanently
[R=302] # Moved temporarily
[R=403] # Forbidden
[R=404] # Not Found
[R=410] # Gone
九歌凝 2024-09-13 15:29:37

您必须使用 RewriteCond 读取子域的名称,然后可以使用 RewriteRule 进行重定向,同时子域保存在 %1 中。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.subdomain\.domain\.tld$ [NC]
RewriteRule .* http://subdomain.domain.tld/%1 [L,R=301]

如果您想将 *.subdomain.domain.tld/file.html 重定向到 subdomain.domain.tld/*/file.html,您可以用此替换 RewriteRule :

RewriteRule ^(.*)$ http://subdomain.domain.tld/%1/$1 [L,R=301]

You have to read the subdomain's name with RewriteCond and then you can do the Redirect with RewriteRule, while the subdomain is saved in %1.

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(.*)\.subdomain\.domain\.tld$ [NC]
RewriteRule .* http://subdomain.domain.tld/%1 [L,R=301]

If you want to redirect *.subdomain.domain.tld/file.html to subdomain.domain.tld/*/file.html, you can replace the RewriteRule with this:

RewriteRule ^(.*)$ http://subdomain.domain.tld/%1/$1 [L,R=301]
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文