嘿,我和htaccess一起唠叨。 在我的网站(mysite.com)上,我获得了一个链接,指向并将变量发送到安全网站上的页面(othersite.com/somepage.php?urlink='www.mysite.com')。
如何编辑我的htaccess文件,将othersite.com/somepage.php?urlink='www.mysite.com'重写为urlink所具有的价值。
我的htaccess中有这个
Options +FollowSymlinks<br>
Options All -Indexes<br>
Options Indexes Includes FollowSymLinks ExecCGI
RewriteEngine on
RewriteRule ^&urlink=(.*) http://$1 [P]
答案 0 :(得分:-1)
好奇。认为它不会那样工作;如果您在其他服务器上请求页面,您自己的htaccess将无法为您提供解决方案。 (如果您自己访问/拥有othersite.com,他们的htaccess可以这样做。)
相反,我会使用HTTP_HEADER编写一个小的PHP文件重定向到otherside.com。 因此,您可以告诉您的htaccess隐藏您的php-Url。
我是否以正确的方式理解您的问题?
<?php
$myInputURL = $my_POSTURL;
$myOtherSite = "http://www.otherside.com?urllink=";
$myURL = $myOtherSite . $myInputURL;
header("Location: ".$myURL);
?>
答案 1 :(得分:-1)
RewriteRule不能直接使用查询字符串。
例如,如果网址为http://www.example.com/kitten.php?say=meow
,则RewriteRule只能匹配kitten.php
部分。其他所有内容都可以通过RewriteCond进行匹配,例如:RewriteCond %{QUERY_STRING} ^urlink=(.*)
。
请参阅文档:http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritecond
在你的情况下它可能是这样的(对不起,我不知道你到底想要实现什么,因此我只是编辑你现有的规则):
Options Indexes Includes FollowSymLinks ExecCGI
RewriteEngine on
RewriteCond %{QUERY_STRING} ^urlink=(.+)$
RewriteRule ^somepage\.php$ http://%1 [P]