我有一个分类广告网站。以前我经常修改URL
s 以使其更合适,但旧的URL
s 仍然显示在 Google 索引和浏览器历史记录/书签中。
有什么方法可以绕过或将旧URL
s 重定向到新 s 吗?我尝试使用.htaccess
规则,但无法获得我想要的结果。
例如:
目前的情况是,两个 URL 都有效,这对搜索引擎优化 (SEO) 不利。我需要URL
将第一个 URL 重定向到第二个 URL URL
。
这正是我的.htaccess
文件中的内容:
AddHandler application/x-httpd-php5s .php
ErrorDocument 404 /content/404.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /
RewriteRule ^vehicles-cars/?(.*),,,,,,,,,,,,,,,
答案1
您正在运行什么网络服务器?请在您的问题中编辑该内容。
假设它是 Apache 并且您已打开 mod_rewrite,请在主机根目录中的 .htaccess 文件中添加以下行。
RewriteRule ^vehicles-cars/?(.*) http://adsbuz.com/vehicles-cars-for-sale/$1
它应该能起到作用。
答案2
您需要从旧 URL 进行 301 重定向。鉴于两个都这些 URL 目前都可以使用,我不会修改你的重写规则,因为我认为这会比它需要的更复杂,因为你需要知道哪个是当前 URL,哪个是旧 URL在重写级别,看起来你的应用程序不是为此设计的。
我的做法是,当 PHP 开始执行时,它需要做的第一件事是检查请求的当前 URL ( content-location
)。将该字符串中的内容与页面数据库中的内容进行比较。
如果两个 URL 匹配,则正常加载页面。否则,执行301 标头重定向到新的 URL。