【问题标题】:Clean Url without Parameter and ? sign没有参数的清理网址和?符号
【发布时间】:2015-05-30 11:50:29
【问题描述】:

我在很多网站上都展示了 URL 清晰而完美,这意味着当我检查它们使用的 href 时,代码中的 URL 是这样的:

<a href="HTTP://domain.com/123>

当我们点击它时,准确地转到 ABC 页面,该名称取自数据库和我的代码:

<a href="HTTP://domain.com/movie.php?mno=123>

如何为我的网站创建这种类型的 URL?

【问题讨论】:

  • 您需要寻找url rewriting

标签: php url


【解决方案1】:

对 Apache 使用 mod_rewrite。例如,放入 .htaccess 文件中:

RewriteEngine on
RewriteBase /
RewriteRule ^([a-zA-Z0-9_-]*)$ movie.php?moo=$1

假设您的有效 ID 由 a-z、A-Z、0-9、_ 和 - 组成。现在对domain.com/ABC09-_ 等的所有查询都将重定向到domain.com/movie.php?moo=ABC09-_

请注意,您可能希望实际将请求的条目 ID 重写为正确的键值对,而不是将其用作没有值的查询键。在上面,请求的 ID 在$_GET['moo'] 下可用。在您发布的模式movie.php?ABC 中,每个 ID 都有一个不同的变量,例如'ABC' 将在$_GET['ABC'] 等之下。

【讨论】:

  • 对不起,我弄错了,现在我编辑了它,我可以得到帮助
  • 帮助已经在我发布的答案中。先生,您还需要什么帮助?
  • 你做了什么,结果是什么,有什么错误?
  • 我将该代码放在 .htaccess 文件中并运行我的页面,但它在 url 中显示 domain.com/movie.php?mno=123 没有改变
  • mod_rewrite 的工作方式是在 URL 中输入 domain.com/123。 URL 保持原样,它永远不会显示查询字符串。查询字符串仅传递给 Apache 和 PHP。否则,如果出于某种原因您需要 URL 中的查询字符串,您应该进行重定向而不是重写。
猜你喜欢
  • 2015-11-09
  • 2021-01-12
  • 2018-12-23
  • 1970-01-01
  • 2021-02-22
  • 2020-07-23
  • 2011-11-21
  • 1970-01-01
  • 2015-04-10
相关资源
最近更新 更多