使用.htaccess重定向不存在的子文件夹

时间:2013-07-04 08:01:07

标签: .htaccess redirect subdirectory

我有一个网站,我有这样的链接:http://mysite.com/search-RANDOM_WORDS.htm
问题是Google试图索引链接,如:

http://mysite.com/search-RANDOM_WORDS.htm/existing-link-on-the-site
http://mysite.com/search-WORD.htm/link-on-the-site/search-ANOTHER_WORD.htm

等。该站点不使用链接中的子文件夹,每个链接都在根目录上。我真的不明白谷歌在哪里通过这些链接,但我必须以某种方式修复它。我已经在使用mod_rewrite了,但是我找不到解决问题的方法。它应该像这样工作:

  1. 如果尝试访问的链接包含服务器上不存在的子文件夹
  2. 将其重新映射到根,并出现404错误。
  3. 怎么办呢? 谢谢!

1 个答案:

答案 0 :(得分:1)

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

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

RewriteRule ^(search-.+?\.htm)/.*$ /$1 [L,R=301,NC]