我有一个重定向外部网址的php脚本,这是脚本
<?php
header("Refresh: 5; url={$_GET['url']}");
echo 'You are redirecting to ... page';
?>
使用此网址重定向
我想用.htaccess重写这个url所以我在.htaccess文件中添加了一个代码,这个
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^url/(.*)$ /url.php?url=$1 [L]
因此,在添加此代码后,它应该使用此URL重定向
脚本正在运行,但它没有重定向到外部网址,只有一条消息显示为您正在重定向到...页面,它只是在5秒内重新加载页面。
那么问题是什么?这是脚本还是.htaccess?
答案 0 :(得分:1)
问题是查询字符串不是RewriteRule测试uri的一部分。
您可以使用:
RewriteEngine On
Options -MultiViews
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^url/$ /url.php?url=%1 [NC,L]