我是htaccess的新手。 一天后,我更新了网址后,我在我的实际网站上更新了一些搜索引擎优化页面。但谷歌已将其编入索引。所以我想如果有人发现旧网址会重定向到新网址但是如果SEO网页只有其他网页没有。这意味着它不会影响任何其他地方。并且没有一页(它是40-50页)任何人都可以通过htaccess或cakephp给出答案。
旧网址 -
www.testenergy.com/test-energy-reviews
新网址 -
www.testenergy.com/s/test-energy-reviews
还有四个senario -
www.testenergy.com/test-energy-reviews
www.testenergy.com/Test-Energy-Reviews
www.testenergy.com/s/test-energy-reviews
www.testenergy.com/s/Test-Energy-Reviews
所有这四个链接都将重定向到www.testenergy.com/s/test-energy-reviews
仅限个人网址
答案 0 :(得分:2)
假设你在某处有mod_rewrite规则,你可能想要坚持使用mod_rewrite。您需要将这些添加到文档根目录中的htaccess文件中,最好是上面其他任何规则:
RewriteEngine On
RewriteRule ^/?test-energy-reviews$ /s/test-energy-reviews [L,NC,R=301]
RewriteRule ^/?s/Test-Energy-Reviews$ /s/test-energy-reviews [L,R=301]
NC
标记忽略大小写,因此它涵盖了/test-energy-reviews
和/Test-Energy-Reviews
。第二条规则负责/s/Test-Energy-Reviews
我不确定为什么/s/test-energy-reviews
(第3个)是您的一个场景,因为它正是您想要重定向到的场景。
答案 1 :(得分:2)
试试这个!! !!
Router::redirect('/test-energy-reviews', 'http://www.testenergy.energy/s/test-energy-reviews');
答案 2 :(得分:0)
在Controller中写下这一行。
/ <强> * ** * ** * ** 强> 如果网址栏中的大写字母有一种类型,则将小写字母重定向到小写字母 **** /
preg_match('/ [A-Z] + /',$ this-&gt; params-&gt; url,$ upper_case_found);
if(count($ upper_case_found)){
//现在重定向到小写版本的url
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . ROOTPATH.strtolower($this->params->url) );die();
}
/ * *** 结束代码 * * * * ** 强> /
或者在htaccess中编写以下代码: RewriteEngine On
RewriteRule ^ /?test-energy-reviews $ / s / test-energy-reviews [L,NC,R = 301]