【问题标题】:How to build Rewrite rules to a expecific condition如何为特定条件构建重写规则
【发布时间】:2013-04-20 07:55:33
【问题描述】:

我们想要注册表单的子域。

该项目是一个 Code Igniter 网站。

我们的想法是使用 register.domain.com

我正在尝试建立一个重写规则来做到这一点。

If the domain is 
    register.domain.com/whatever 
go to 
    register.domain.com/register/form
if the domain is 
    register.domain.com/register/form
do nothing.

现在我只得到一个无限循环。

谢谢

奥斯卡

【问题讨论】:

    标签: apache url-rewriting vhosts url-rewrite-module


    【解决方案1】:

    我找到了简单的方法。

     RewriteEngine On
     RewriteCond %{REQUEST_URI} ^register.domain.com$ [NC]
     RewriteCond %{REQUEST_URI} !^register.domain.com/register/form [NC]
     RewriteRule ^(.*)$ http://register.domain.com/register/form r [L,R=301]
    

    !是“ISNOT”:)

    【讨论】:

      【解决方案2】:

      试试这个,我希望它是你需要的

      使用重定向匹配

      RedirectMatch ^/(.*)/ http://new.example.com/docs/$1
      

      编辑:

      我看到你需要一个条件:

       <If "%{REQUEST_URI} != '/register/login'">
        RedirectMatch ^/(.*)/ http://new.example.com/docs/$1
       </If>
      

      终于:

      RewriteBase /
      RewriteEngine On
      RewriteCond  %{REQUEST_URI} !^/register/
      RewriteCond  %{REQUEST_URI} ^/.+
      
      RewriteRule  ^(.*)/ /register/ [R,L]
      

      【讨论】:

        猜你喜欢
        • 2012-04-27
        • 2014-10-20
        • 2011-10-02
        • 2013-04-08
        • 1970-01-01
        • 1970-01-01
        • 2020-07-29
        • 2020-10-08
        • 2013-06-08
        相关资源
        最近更新 更多