【问题标题】:How to hide php file extension and any parameters using htaccess如何使用 htaccess 隐藏 php 文件扩展名和任何参数
【发布时间】:2016-02-03 13:03:53
【问题描述】:

我试图找到解决此问题的解决方案。 我需要在我的域上的每个网页,使用 .htaccess 文件隐藏 .php 文件扩展名及其 url 参数。

例子:

目前http://www.domain.com/page.php?id=7ca45b&n=fg&q=z981D

预计http://www.domain.com/page

有什么帮助吗? 提前致谢

马里亚诺

【问题讨论】:

  • 如果要隐藏参数,可以使用POST代替GET方法。还要搜索 URL 重写。
  • 你考虑过使用干净的网址吗?
  • 这是一个标准请求,如果您可以使用像 http://www.domain.com/page/7ca45b/fg/z981D 这样的网址,例如上面的示例。 StackOverflow 上有 数百万 个示例,我建议您阅读这些示例并自己开始。如果不付出巨大的努力,就不可能完全“隐藏”请求参数。
  • 重写工作反过来。您在页面中生成漂亮的 URL,Apache 的 rewrite rules(在 .htaccess 中配置)在内部将它们重写为包含许多由 & 分隔的参数的标准 URL。不幸的是,没有办法将http://www.domain.com/page 重写为http://www.domain.com/page.php?id=7ca45b&n=fg&q=z981D,因为没有办法突然产生所有这些参数。您必须以某种方式在您的 URL 中对它们进行编码。 F.e. http://www.domain.com/page/7ca45b/fg/z981D

标签: php apache .htaccess


【解决方案1】:

您可以在 .htaccess 中使用以下代码来删除 .php 扩展名。

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

【讨论】:

  • 1.您的最后一条语句中有一个逻辑错误(转过来!)和 2. 使用 POST 请求而不是 GET 请求并不那么容易,它可能会导致其他问题...
猜你喜欢
  • 2012-04-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-06
  • 1970-01-01
  • 2013-03-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多