我刚刚将网站迁移到了更新版本,但是希望为网站的一些最常见的输入页面添加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>
有没有什么方法可以让我轻松拥有两全其美,让我的简单,每页301重定向并保持CakePHP的路由?
答案 0 :(得分:1)
如果所有旧网址都以.htm
结尾,而您的新网址都没有,则可以像这样编辑CakePHP .htaccess
文件:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !\.htm$
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
答案 1 :(得分:0)
为什么不在控制器中使用$this->redirect('http://www.thesite.com/', 301);
?