【问题标题】:mod_rewrite not working as think it shouldmod_rewrite 无法正常工作
【发布时间】:2014-03-02 07:00:09
【问题描述】:

我正在尝试为我的网站应用一些重写规则,但不知道我做错了什么... 这就是我正在尝试的,例如:

此网址:www.mysite.com/contact/ 应该打开:www.mysite.com/dv/contact/

此网址:www.mysite.com/ 应该打开:www.mysite.com/dv/

这是我在 htaccess 上写的

RewriteEngine On
RewriteCond %{HTTP_HOST} ^http://(www\.|.{0})mysite.com$ [NC]
RewriteRule .com/? .com/dv/

但是看起来规则不匹配什么的......

我测试了一个更简单的规则,只是为了检查 mod_rewrite 是否做得很好,而且确实如此。

我通过http://regexpal.com/ 上的工具测试了正则表达式,结果正常

我做错了什么?

谢谢

【问题讨论】:

    标签: apache .htaccess mod-rewrite


    【解决方案1】:

    你只需要这条规则:

    RewriteEngine On
    
    RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$ [NC]
    RewriteRule ^((?!dv/).*)$ /dv/$1 [L,NC]
    

    【讨论】:

    • 会有子域的情况。我希望规则仅在没有子域时匹配,例如 www.mysite.com,在这种情况下我需要一个 rewriteCond,不是吗?
    • 是的,没错。我为该要求添加了RewriteCond
    猜你喜欢
    • 1970-01-01
    • 2012-08-05
    • 2012-05-07
    • 1970-01-01
    • 2011-06-28
    • 1970-01-01
    • 2011-12-18
    • 2015-01-14
    相关资源
    最近更新 更多