代码之家  ›  专栏  ›  技术社区  ›  danieltalsky

CakePHP的路由是否破坏了我的.htaccess301重定向?

  •  0
  • danieltalsky  · 技术社区  · 14 年前

    我刚刚将一个站点迁移到了一个更新版本,但是我想为该站点的一些最常见的入口页面设置301重定向

    下面是我要添加到.htaccess的规则:

    Redirect 301 /oldhomepage.htm http://www.thesite.com/
    

    http://www.thesite.com/?url=oldhomepage.htm

    这与CakePHP路由设置有冲突吗?

    编辑:有人指出这可能是一个.htaccess冲突,事实确实如此。CakePHP会自动创建一个.htaccess文件(位于子目录中),该文件具有以下内容:

    <IfModule mod_rewrite.c>
        RewriteEngine On
        RewriteBase /
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    </IfModule>
    

    2 回复  |  直到 14 年前
        1
  •  1
  •   Tim Stone    14 年前

    如果所有的旧URL都以 .htm .htaccess 像这样归档:

    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !\.htm$
    RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
    
        2
  •  0
  •   bancer    14 年前

    你为什么不用 $this->redirect('http://www.thesite.com/', 301);