使用 .htaccess 修剪 url 查询字符串
在我的网站上,我在访问页面表单内容时使用会话 ID。 url 中的 sessionid 通常不会显示,因为它是通过 jQuery .load 访问的,因此 url 不会更改。上面参考的页面需要被一些外部域直接访问。 我在表单页面的顶部使用了以下 PHP,以显示整个页面。
<?php
$code = $_GET['sessionid'];
$referrer = $_SERVER['HTTP_REFERER'];
if(strcmp( $code , 'XXXXX' ) !=0) {
if (preg_match("/alloweddomain.com/",$referrer)) {
header('Location: http://www.mydomain.com/desiredpage.php?sessionid=XXXXX');
} else {
header("Location: http://www.mydomain.com/otherpage.php");
}
}
?>
有没有办法使用 .htaccess 删除会话 ID?我已尝试以下操作,但收到 500 内部服务器错误。
RewriteEngine On
RewriteBase /
"lots of 301 redirects"
HTTP_REFERER variable RewriteCond %{HTTP_REFERER} !aloweddomain.com RewriteCond %{QUERY_STRING} !="sessionid=XXXXX" RewriteRule .* /desiredpage.php? [R=301,L]
***编辑****< /em> 使用这个,填写适当的详细信息
RewriteCond %{HTTP_REFERER} !**aloweddomain.com** [OR]
RewriteCond %{QUERY_STRING} !=sessionid=**XXXXX**
RewriteRule .* /**desiredpage**.php? [R=301,L]
只是得到 FF 错误,它无法完成重定向
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
你忘记换行符
这将重定向所有不是来自 aloweddomain.com 或没有 Query_String 的 url。我忘记了
[OR]
如果没有[OR]
那么这两个条件必须为真。如果desiredpage.php只是显示您无法访问该网站的页面,那么
如果您想从AJAX或自定义域调用它,您可以放置403 Forbidden而不是重定向。
desiredpage.php
的代码you forget newlines
This will redirect all url's that don't came from aloweddomain.com or don't have Query_String. I forget about
[OR]
if there is nor[OR]
then then the two conditions must be true.and if desiredpage.php is simply page that show that you can't access the site then you can put 403 Forbidden instead of redirect
If you want to call it from AJAX or custom domain.
code for
desiredpage.php