【问题标题】:htaccess redirect without looking at the query stringhtaccess 重定向而不查看查询字符串
【发布时间】:2011-11-22 20:17:25
【问题描述】:

我有这些行可以让我在不更改 URL 的情况下重定向页面:

RewriteCond  %{REQUEST_URI}   ^/samples.php [OR]
RewriteCond  %{REQUEST_URI}   ^/fruits.php
RewriteRule   ^(.*)$  /storepage.php

我怎样才能做到这一点,但这次使用查询字符串?例如,文件samples.php?hash=5yh4w6w46h6hy4 仍将重定向到上面的/storepage.php,而不更改 URL。然后,storepage.php 文件会解除查询字符串并显示与其相关的内容。

查询字符串是一个哈希,因此无法预测它的值。

【问题讨论】:

  • 您可以将QSA(查询字符串追加)添加到您的RewriteRule...RewriteRule ^(.*)$ /storepage.php [QSA]
  • 你是否试图让它重写但删除查询字符串?我认为默认情况下,即使没有 QSA,查询字符串也会被附加到重写,除非目标中有 ?
  • Jon 是正确的:默认情况下会附加查询字符串,除非您使用 ?在目标中,在这种情况下你需要[QSA]。它应该按原样工作。如果没有,您能否提供更多关于什么不起作用的详细信息。

标签: .htaccess


【解决方案1】:

我已经解决了这种情况,请看下面的代码它会帮助你 请试试这个

RewriteCond %{REQUEST_URI} ^/samples.php$ [OR]
RewriteCond %{REQUEST_URI} ^/fruits.php$
RewriteCond %{QUERY_STRING} ^hash=5yh4w6w46h6hy4$
RewriteRule ^(.*)$  http://example.com/storepage.php? [R=301,L]

这将永久重定向 URL,并且您将获得所需的 URL 而无需查询字符串

【讨论】:

    猜你喜欢
    • 2015-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-13
    • 2010-11-06
    • 2014-05-10
    • 2011-08-03
    相关资源
    最近更新 更多