在WordPress上通过.htaccess删除其他人的网站URL(包含正斜杠)

时间:2013-08-15 18:40:22

标签: wordpress .htaccess url

我搜索了高低,找到了解决方案,我尝试过的所有内容都失败了。我正在浏览我们的服务器日志,并注意到一些404,其中一个URL已经添加了一个变量(由于我们仍然试图理解的原因)。

应显示的网址:

www.example.com/property1/property2 /

取而代之的是:

www.example.com/property1/property2/http:/www.anothersite.com/(注意'http:'之后的单斜线)

我尝试过使用两者:

RewriteRule ^/http:/www.anothersite.com/(.*)$ /$1 [L,QSA]RewriteRule ^/http:/$ /但无济于事。增加的复杂性是该网站是WordPress,所以我在此代码的RewriteBase /之后放置了新代码(标准为WP):

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /

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

# END WordPress

非常感谢任何帮助! :)

2 个答案:

答案 0 :(得分:1)

使用以下重写规则

RewriteRule ^(.*)/http:.*$ $1 [L,NC,QSA,R=301]

假设您希望将www.example.com/property1/property2/http:/www.anothersite.com/重定向到www.example.com/property1/property2。使用以下内容以/

结束网址
RewriteRule ^(.*/)http:.*$ $1 [L,NC,QSA,R=301]

答案 1 :(得分:0)

当我在托管的网页上使用脚本重定向到特定网址时出现错误时,我注意到了这样的错误。错误是我提供的网址无效。而不是“http://example.com/filename.php”,它是“http:/example.com/filename.php”,这导致它不被识别为网址并连接到网页的基本网址。最重要的是,您需要回溯到嵌入了网址的引荐网页,并更正导致该网址未被识别为网址的问题。因此,通过重写来处理并不是一个问题,因为这只会治疗症状,而不是真正的问题。更清楚的是,上面示例中的错误是预期的“http://”是“http:/”,因此它不会被识别为URL,您需要在引用页面上修复它。