重定向整个子目录

时间:2017-02-09 01:06:42

标签: wordpress .htaccess redirect

我有一个被黑客攻击的wordpress网站,并且有数千个链接我想重定向到主页。

以下是我在.htaccess文件中的内容:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

RewriteRule ^scategory/(.*)  http://www.truckeeriverrock.com/$1 [R=301,L]
RewriteRule ^whosonline/(.*)  http://www.truckeeriverrock.com/$1 [R=301,L]
RewriteRule ^admintools/(.*)  http://www.truckeeriverrock.com/$1 [R=301,L]

RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

问题是谷歌搜索控制台仍然显示其中一些错误。例如,如果我去了 http://www.truckeeriverrock.com/whosonline/根据上面的htaccess规则重定向它。 但... 如果我去:http://www.truckeeriverrock.com/whosonline/srfudw/sriktgajxl.cfm 我被重定向到:http://www.truckeeriverrock.com/srfudw/sriktgajxl.cfm(显示404页面)。

如何确保whosonline目录及其下面的任何内容都被重定向到主页?

更新: 每个响应我将3行代码更改为以下内容,但重定向仍然无法正常工作。

RewriteRule ^(scategory|whosonline|admintools)/ http://www.truckeeriverrock.com/ [NC,R=301,L]

2 个答案:

答案 0 :(得分:2)

您可以使用:

RewriteRule ^(scategory|whosonline|admintools)/ http://www.truckeeriverrock.com/ [NC,R=301,L]

而不是你的3行。

答案 1 :(得分:1)

我相信如果您只是想要始终重定向到主页,那么您应该放弃&#34; $ 1&#34;在每个重写目的地的末尾。 $ 1用作基于搜索URL的匹配模式的变量。因此,它试图将错误的子目录信息附加到您网站地址的末尾。

只要在没有这些$ 1的情况下试一试,请告诉我们它是如何运作的。