【问题标题】:Rewrite Rule Not Working - After Software Update重写规则不起作用 - 软件更新后
【发布时间】:2015-05-18 12:01:37
【问题描述】:

我的所有用户都收到了唯一的链接。示例;

http://example.com/limeSurvey190/index.php?sid=59684&lang=en&token=1234567890

token 在这里是独一无二的。

我已经完成了 LimeSurvey 软件更新,所以现在我的用户需要转到这里;

http://example.com/surveys/index.php/survey/index/sid/59684/
token/1234567890/lang/en

我试过这条规则;

RewriteRule ^limeSurvey190/index.php?sid=59684&lang=en&token=([0-9]+)/?$ surveys/index.php/survey/index/sid/59684/token/$1/lang/en [NC]

它不起作用。我对重写/重定向规则很陌生,所以我可能误解了RewriteRule

【问题讨论】:

  • 您无法匹配 rewriterule 中的查询字符串。您需要使用 query_string 或检查请求。

标签: .htaccess redirect url-rewriting rewrite


【解决方案1】:

您可以在 .htaccess 文件中尝试此操作。

RewriteCond %{THE_REQUEST} [A-Z]{3,}\s/+limeSurvey190/index\.php\?sid=(59684)&lang=en&token=([^&\ ]+)
RewriteRule ^ /surveys/index.php/survey/index/sid/%1/token/%2/lang/en? [R=301,L]

【讨论】:

  • 那也没用。为什么 59684 在括号里?
  • 你把这条规则放在哪里了?它需要先于其他规则。
猜你喜欢
  • 2013-07-06
  • 1970-01-01
相关资源
最近更新 更多