【问题标题】:Change how a get url looks [duplicate]更改获取网址的外观[重复]
【发布时间】:2013-07-01 20:23:14
【问题描述】:

我正在尝试制作一个动态用户页面,例如 reddit,例如,您可以访问 reddit.com/u/bob,它会显示 bob 的用户页面。我想对我的页面做同样的事情,而不是让它成为 reddit.com/u?user=bob 我想让它像 reddit 那样做 reddit.com/u/bob。有人可以告诉我如何做到这一点。我似乎找不到任何在 Internet 上发布的方法来实现这一点。

这一切都是使用 PHP 和 MySQL 完成的。

谢谢。

【问题讨论】:

  • 了解 apache 服务器的 mod_rerewrite 规则。通常它在 .htaccess 文件中完成
  • 这可能是因为您不会在 PHP 中这样做。我相信这归结为您的虚拟服务器的配置。如果您使用的是 Apache 或其他东西,您能告诉我们吗?

标签: php mysql forms get


【解决方案1】:

.htaccess 文件中尝试:

RewriteEngine On
RewriteBase /
RewriteRule ^u/(.+)$  /u.php?user=$1 [L,NC,QSA]

【讨论】:

  • 在尝试使用 localhost/u/bob 之类的 url 时出现内部服务器错误。作为说明,我正在使用 .htaccess 重写,因此删除 php 结尾会导致问题。有没有办法让它与这个 RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME}.php -f RewriteRule ^(.*)$ $1.php [NC,L] 一起工作
  • 因为 $1.php 将意味着 Bob.php 如果你做了类似 /u/Bob 尝试 user.php?username=$1
【解决方案2】:

你需要使用.htaccess,它可以控制你的url样式。

教程:

http://www.askapache.com/htaccess/modrewrite-tips-tricks.html

【讨论】:

  • 请在此处提供所有需要的信息,以便在链接失效后您仍然可以获得有效的答案。
猜你喜欢
  • 2020-08-21
  • 2023-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-01
  • 2012-07-06
  • 1970-01-01
相关资源
最近更新 更多