我有一个php脚本重定向外部url,这是脚本
<?php
header("Refresh: 5; url={$_GET['url']}");
echo 'You are redirecting to ... page';
?>使用此url重定向的
http://my-domain.com/url.php?url=http://www.google.com
我想用.htaccess重写这个url,所以我在我的.htaccess文件中添加了一个代码,这个
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^url/(.*)$ /url.php?url=$1 [L]因此,在添加这段代码之后,它应该用这个url重定向。
http://my-domain.com/url/?http://www.google.com
脚本正在工作,但它没有重定向到外部url,只是出现了一条消息,即您要重定向到的。页面,它只是在5秒时继续重新加载页面。
那有什么问题吗?是脚本还是.htaccess写的?
发布于 2017-10-18 12:30:43
问题是查询字符串不是RewriteRule测试uri的一部分。
您可以使用:
RewriteEngine On
Options -MultiViews
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^url/$ /url.php?url=%1 [NC,L]https://stackoverflow.com/questions/46803553
复制相似问题