htaccess 使用子域信息将子域重定向到不同的 URL

htaccess to redirect subdomains to a different URL with the subdomain info

对于 .htaccess 文件,只要它具有非 www 子域,我就需要采取任何 URL 并将其重定向到不同的结构:

test.example.com -> example.com/r/test

another.example.com/foo/bar -> example.com/r/another

sub.example.com/q -> example.com/r/sub

www.example.com -> www.example.com

我已经接近了,但我似乎做对了。

您可以在 htaccess 中使用以下规则:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^((?!www).+)\.example\.com$ [NC]
RewriteRule ^ /r/%1 [L]

这应该将 foobar.example.com 重写为 example.com/r/foobar 。重定向是内部的,意味着您的浏览器 URL 不会改变。如果您正在寻找 URLs.

的外部 301 重定向,您可以在规则中使用 R=301