【问题标题】:How to hide index?q= in php?如何在 php 中隐藏 index?q=?
【发布时间】:2016-10-05 16:03:01
【问题描述】:

我正在核心 php 上开发我的应用程序,并且我正在开发一个应用程序,其中 index.php 文件根据查询加载所有模板文件。例如;如果用户想去个人资料页面,url是sitename/index.php?q=profile,对于设置页面,url是sitename/index.php?q=settings

我想让它成为干净的 url,就像配置文件一样,url 应该是 sitename/profilesitename/settings

【问题讨论】:

  • 你应该使用 .htaccess
  • 看,我已经知道我应该使用 htaccess。问题是我不擅长 htaccess 并且不知道要编写什么代码来实现它。
  • 使用Session或Cookies来存储url的数据...

标签: php clean-urls


【解决方案1】:

要么转移到 MVC 架构并在那里相应地定义你的路由,要么通过 JavaScript 使用异步请求并在前端本身获取和呈现内容。鉴于您的情况,这两种选择都需要大约相同的时间来实施。考虑项目的其他因素,然后明智地选择。

【讨论】:

  • 感谢您的建议。
【解决方案2】:

您可以在 .htaccess 文件中使用以下代码来获得干净的 url

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ index.php?q=$1
RewriteRule ^([a-zA-Z0-9]+)/$ index.php?page=$1

【讨论】:

  • 谢谢你的回答,但我已经尝试过这段代码,这似乎在我的 xampp 甚至在 godaddy 中都不起作用。
  • 你必须在你的 apache 配置中启用“mod_rewrite”。
  • 嘿 Vinit,谢谢你的代码,我有事要问你。这段代码在有类似 sitename/index.php?q=settings 的地方可以正常工作,但是如果有类似 sitename/index.php?q=settings/1234/xyz 的 url,它会出现 404 错误,如何解决?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-08-22
  • 2015-12-19
  • 1970-01-01
  • 2022-07-03
  • 2014-06-03
  • 1970-01-01
  • 2017-09-15
相关资源
最近更新 更多