域名中的域名。如何通过htaccess重定向

时间:2013-07-16 01:25:19

标签: .htaccess redirect http-status-code-301

网站的抓取属性显示

  http://www.abc.com/http://www.abc.com/index.php?option=com_toys
  http://www.abc.com/http://www.abc.com/index.php?option=com_article
  http://www.abc.com/http://www.abc.com/index.php?option=com_play&view=category&vid=10

此网站已被抓取,错误会以重复的网址形式出现。正确的网址是

  http://www.abc.com/index.php?option=com_toys
  http://www.abc.com/index.php?option=com_article
  http://www.abc.com/index.php?option=com_play&view=category&vid=10

有没有办法301重定向 我尝试使用

  RewriteCond %{REQUEST_URI} ^.*/http://www.abc.com.*$
  RewriteRule .*  index.php     [R=301,L]

但它没有实现所需的重定向到http://www.abc.com/index.php 如何通过htaccess从不正确的URL重定向到正确的网站外的url结构

2 个答案:

答案 0 :(得分:1)

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccess目录下的DOCUMENT_ROOT中:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/+http://.+?(/index\.php\?[^\s]+) [NC]
RewriteRule ^ %1 [R=301,L,NE]

答案 1 :(得分:0)

试试这段代码:

RewriteEngine On
RewriteRule ^http://www.abc.com/index.php /index.php [QSA, R=301]