我尝试将sub.example.com/login
的任何直接尝试重定向到example.com/login
的原始域/ uri,以及我已经阅读过的问题数量对于这个问题,它表面看起来很容易......
我不知道是否有一些事情超出了预期的结果,但我的 .htaccess 文件中有以下规则,但我和#39; m仍然可以在不重定向的情况下访问sub.example.com/login
。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com/login$ [NC]
RewriteRule ^(.*)$ http://example.com/login$1 [L,R=301]
实际上,为了完全清楚,这里是我的整个 .htaccess 文件内容。也许其他人可以看到我错过的错误。
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
# redirect subdomain login attempts to main domain
RewriteCond %{HTTP_HOST} ^(.+)\.example\.com/login$ [NC]
RewriteRule ^(.*)$ http://example.com/login$1 [L,R=301]
答案 0 :(得分:1)
放置重定向子域登录重写条件&在RewriteBase行之后的规则。这应该有助于解决您的问题。
答案 1 :(得分:0)
RewriteEngine On
RewriteBase /
# Redirect all subdomains to example.com
RewriteCond %{HTTP_HOST} !^(.*)\.example\.com$ [NC]
# Redirect only bar & foo subdomains to example.com
#RewriteCond %{HTTP_HOST} !^(bar|foo)\.example\.com$ [NC]
RewriteRule ^ http://example.com/ [L,R]