防止子域名使用主域名的htaccess

时间:2016-08-12 08:00:05

标签: .htaccess loops redirect mod-rewrite subdomain

我通过htaccess从主域到子域有很多特定的301重定向。旧网站将被移动到子域(从主要),而主要的新网站。我喜欢保留旧网站的SEO。因此301链接从新站点到旧站点。 (假设新网站上不存在301链接)。

问题是子域名正在访问主域名的htaccess。从而导致重定向循环。

考虑到一些解决方案。

  1. 阻止子域访问主要的htaccess
  2. 如果在主要的htaccess中检测到子域地址,则退出htaccess
  3. 让个人htaccess专属于自我。
  4. 试过了。 [L]。 [结束]。 [NC]

    这是子域名htaccess

    Redirect 301 /changeemail https://somethingsomething
    RewriteEngine On 
    RewriteCond %{HTTP_USER_AGENT}       baiduspider|facebookexternalhit|twitterbot|rogerbot|linkedinbot|embedly|quora\ link\ preview|showyoubot|outbrain|pinterest [NC,OR]
    RewriteCond %{QUERY_STRING} _escaped_fragment_
    RewriteRule ^(.*)$ http://service.prerender.io/http://%{HTTP_HOST}$2 [P,L]
    
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
    RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
    RewriteRule ^ - [L]
    
    RewriteRule ^ /index.html`
    

    这是主域样本301

    Redirect 301 /register www.subdomain.com/register

1 个答案:

答案 0 :(得分:0)

您确定需要在主htaccess上重定向吗?

例如,如果您有这样的文件结构:

/ domainroot / domainroot / mysub

而不是在/ domainroot中进行重定向,只在/ domainroot / mysub的htaccess上设置重定向,如下所示: RedirectMatch ^ / mysub /(.*)$ http://mysub.domain.com/ $ 1

这会将所有网址重定向到您的子网域,即使是子路径也是如此。