【问题标题】:Redirect everything, except one subdomain重定向所有内容,除了一个子域
【发布时间】:2019-05-21 15:48:55
【问题描述】:

一切都必须重定向到 www.domain.com。除了 test.domain.com。它将托管新版本的站点进行测试。 这两个域都需要查看它们的 web 目录。

我已经搜索了堆栈溢出,但似乎没有一个类似的问题可以为我提供有效的解决方案。可能是因为我还不太了解 htacces / regex。

这是我的 .htacces 文件的当前内容。

RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteCond %{REQUEST_URI} !web/
RewriteRule (.*) /web/$1 [L]

【问题讨论】:

    标签: regex .htaccess subdomain


    【解决方案1】:

    在你的第二行试试这个(其中 test 是你的子域):

    RewriteCond %{HTTP_HOST} !^(www|test)\.
    

    !否定匹配。

    括号是一个正则表达式组。

    管道符号是或。

    这应该说的是“匹配我除 www. & test 之外的所有子域。”

    Regex101 链接在这里可能有助于进一步解释并提供我的测试数据:

    https://regex101.com/r/5udsER/1/

    免责声明

    我写了这个 afk,所以这缺少端到端测试,但 应该工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-08
      • 1970-01-01
      • 1970-01-01
      • 2013-07-17
      • 2022-09-30
      • 1970-01-01
      • 2013-08-24
      • 2016-09-16
      相关资源
      最近更新 更多