【问题标题】:Htaccess redirect if there's nothing after slash如果斜线后没有任何内容,则 Htaccess 重定向
【发布时间】:2014-10-30 08:16:40
【问题描述】:

如果我的网站是 www.site.com,并且在 www.site.com/shop 上有一家商店,我该如何制作才能访问 shop.site.com,如果 / 之后没有任何内容(例如 shop.site.com/someItem 不会重定向)会重定向到 www.site.com/shop?

现在将 shop.site.com/someShopItem 正确重定向到 www.site.com/someShopItem,我需要它保持这种状态,只需更改 shop.site.com -> www.site.com/店铺

谢谢

【问题讨论】:

    标签: php .htaccess mod-rewrite redirect slash


    【解决方案1】:

    您可以在shop.site.com的root .htaccess 中使用此规则:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^shop\.domain\.com$ [NC]
    RewriteRule ^/?$ http://www.domain.com/shop/ [L,NC,R=302]
    

    【讨论】:

    • 在测试仪上使用了这个,不会将 shop.domain.com 重定向到任何东西。
    • 不要使用任何测试器,在您的 Apache 服务器上使用它并确保这是您的 .htaccess 中的第一个规则
    • 仍然只重定向到 www.domain.com。我应该粘贴整个 htaccess 供您检查吗?也许其他一些规则正在干扰
    • 原来它从一开始就在工作,但该死的东西被缓存了
    【解决方案2】:

    因为我们有:来自文档的RewriteRule Pattern Substitution [OptionalFlags]。 我真的不是这些规则的专家,但我想这样就足够了?

    RewriteEngine On
    RewriteRule ^shop.example.com/?$ http://www.example.com/shop
    

    这意味着:将 shop.site.com 替换为 www.site.com/shop。

    另外,您可以使用检查器测试您的 htaccess(例如:http://htaccess.madewithlove.be/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-21
      相关资源
      最近更新 更多