【问题标题】:Htaccess rule for a rewrite with parameters使用参数重写的 Htaccess 规则
【发布时间】:2017-01-16 19:21:46
【问题描述】:

所以我现在的网址是:https://example.com/uDoc?id=xx

使用重写,我希望它是https://example.com/display?id=xx&type=doc

真正的问题是,因为我还有一个规则 (RewriteRule (.*) $1.php [L]) 用于静默添加 .php (uDoc?id=xx -> uDoc.php?id=xx,没有它,它会导致404 错误)。 这在某种程度上干扰了当前给出的答案。

我摆弄了各种 htaccess 规则,但没有得到好的结果:(

如果有人能帮助我,我真的很感激,当谈到 htaccess 规则时,我完全放弃了......

【问题讨论】:

  • 当前的答案是我最好的尝试,但正如我所说,它以某种方式干扰了我的 .php 规则
  • 好的,我现在刚刚更改了所有链接,所以不再需要这个,我会接受当前的答案,因为它确实符合我之前的要求,是否我以前的规则与它冲突与否。不过感谢您的帮助! :)

标签: php .htaccess parameters url-rewriting


【解决方案1】:

您可以在根 .htaccess 中使用此规则:

RewriteEngine On

RewriteRule ^uDoc/?$ display?type=doc [L,QSA,NC]

QSA 标志确保您现有的查询字符串,即id=xx 被转移到新的 URI。

【讨论】:

  • 嗯,它不起作用,它只是像往常一样进入同一个页面,我已经清除了我的缓存,还有什么需要我做的吗?
  • 在浏览器中输入https://example.com/uDoc?id=xx会发生什么?这个htaccess里还有更多的规则吗?
  • 它非常混乱(正如我所说,当谈到 htaccess 时,我完全迷失了,但不知何故这现在一直有效(当然当前问题除外)):pastebin.com/wRS55icS
  • 我在之前的评论中有 2 个部分。请也回复第一个?
  • 哦,是的 - 结果是一样的。
猜你喜欢
  • 1970-01-01
  • 2018-02-03
  • 2013-12-26
  • 2023-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多