【问题标题】:.htaccess mod_rewrite - how to exclude addon domain from rewrite rule?.htaccess mod_rewrite - 如何从重写规则中排除插件域?
【发布时间】:2016-12-27 23:30:14
【问题描述】:

我的主要托管域需要 ssl,因此 htaccess 将每个 url 请求转换为 https。

但我在同一托管另一个域,具有 cpanel 目录结构(“public_htmml/addon-domain.com”)

public_html htaccess 是我唯一可以配置的。我需要从重写中排除附加域的目录。因此,当用户键入 www.addondoamin.com 或没有 www 时,htaccess 将不会执行任何操作。 o/w,我收到很多错误,并且插件域镜像到主域。

注意

 RewriteCond %{REQUEST_URI} !^/public_html/addon-domain.com/.*$

没用。

所以,这里是 htaccess。

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]


    RewriteCond %{HTTPS} !=on
     RewriteCond %{REQUEST_URI} !promotion
     RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [L]
</IfModule>

10 倍非常多!希望有人可以帮助我。

【问题讨论】:

    标签: apache .htaccess mod-rewrite url-rewriting cpanel


    【解决方案1】:

    这个可以放在你当前规则之上的任何地方怎么样:

    RewriteCond %{HTTP_HOST} ^(www\.)?addon-domain\.com$
    RewriteRule ^.*$ '-' [L]
    

    【讨论】:

    • 嘿!它在桌面上运行良好!最后。 BUTTT 在移动设备上,当您要求不带 www 的插件域时,它会重定向到“https://addon-domain.com”并出现证书错误。我如何修改 HTACCESS 使其在使用 WWW 和不使用 WWW 时都能正常工作?非常感谢!
    • 您的移动浏览器可能已经缓存了之前的 301 重定向。尝试清除移动浏览器的缓存。上面的代码确实通过在正则表达式中使用可选匹配来考虑 www 和非 www。
    • @jedifans 请我知道这是一篇旧帖子,但只是想知道如果您有多个插件域如何编辑此规则?
    • @AgbogidiMichael 您应该能够根据需要对多个域重复上述操作,或者如果您精通正则表达式,您可以在答案中编辑当前的正则表达式。
    • @jedifans 谢谢。不擅长正则表达式。所以我可以这样放它们
    猜你喜欢
    • 2010-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-19
    • 2010-12-22
    相关资源
    最近更新 更多