我搜索了高低,找到了解决方案,我尝试过的所有内容都失败了。我正在浏览我们的服务器日志,并注意到一些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
非常感谢任何帮助! :)
答案 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,您需要在引用页面上修复它。