【问题标题】:Deleting the ? from links删除 ?从链接
【发布时间】:2014-03-28 00:33:20
【问题描述】:

基本上我的大部分链接都像

localhost/?login
localhost/?register
localhost/?admin

I want to make them look like:

localhost/login
localhost/register
localhost/admin

等等。但我记得之前我删除了 ?从那,我只是不记得如何。 通过谷歌无法真正找到任何帮助,但它可能就在那里。

还有我怎么做的

localhost/?login&something=123

看起来像

localhost/login/something=123
localhost/login/something/123

等等

【问题讨论】:

标签: php .htaccess web


【解决方案1】:

您可以为此使用.htaccess

RewriteRule ^([^/]+)/?$ /?$1 [L]
RewriteRule ^([^/]+)/([^/]+)/?$ /?$1&$2 [L]
RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ /?$1&$2=$3 [L]

以上将为您进行以下转换:

localhost/login               => localhost/?login
localhost/login/something     => localhost/?login&something
localhost/login/something/123 => localhost/?login&something=123

【讨论】:

  • 我还需要在 .htaccess 中添加更多内容吗?
  • 视情况而定。您可能需要在其中设置一些条件以防止重写有效文件。
  • 好吧,只是把它放在 htaccess 中并尝试 localhost/login 对我不起作用
  • 您是否有一个index.php 文件以某种方式处理 URL 参数?
  • 添加 if(isset($_GET['login'])){ echo 'Works'; } 应该可以正常工作吗?
猜你喜欢
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-10
  • 2015-11-10
  • 2021-08-23
  • 2020-07-18
相关资源
最近更新 更多