2

我已经到处寻找解决方案,但我尝试过的一切都失败了。我正在查看我们的服务器日志并注意到许多 404,其中 URL 的末尾添加了一个变量(出于我们仍在尝试理解的原因)。

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

非常感谢任何帮助!:)

4

2 回答 2

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]
于 2013-08-15T18:48:06.787 回答
0

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

于 2013-08-15T18:53:47.783 回答