【问题标题】:Add/prepend a GET variable name using redirects in htaccess (to fix broken URL)在 htaccess 中使用重定向添加/添加 GET 变量名称(以修复损坏的 URL)
【发布时间】:2014-08-27 15:13:56
【问题描述】:

我有一个 php 脚本,它依赖于名为“serial”的 $_GET 变量。通常 URL 如下所示: http://www.example.com/script.php?serial=XXXXXX

但是,制作二维码的人认为网址太长,已经完成了指向该网址的二维码: http://www.example.com/script.php?XXXXXX

他们遗漏的部分是“serial=”,所以 PHP 不能再 $_GET 变量了。

是否可以使用 .htaccess 重定向以重新添加“serial=”?

任何帮助将不胜感激。

谢谢!

【问题讨论】:

  • 为什么不检查是否指定了序列号?如果没有,您可以使用默认值。
  • 遗憾的是没有默认值。看看 Jon Lin 的回答 - 它奏效了!

标签: apache .htaccess mod-rewrite redirect


【解决方案1】:

试试:

RewriteEngine On
RewriteCond %{QUERY_STRING} !^serial=
RewriteRule ^script\.php$ /script.php?serial=%{QUERY_STRING} [L]

如果要重定向浏览器,请在方括号内添加R,使其看起来像[L,R]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-10-04
    • 2010-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多