首页 > 解决方案 > 去掉 php 文件的问号?

问题描述

现在我有一个这样的网址:myurl.com/?u=b. 但是我想摆脱问号,理想情况下甚至是u=这样,我只剩下:myurl.com/b我想知道这是否完全可以使用 htaccess 以及如何实现?提前谢谢。

标签: .htaccess

解决方案


如果与其他 URL 和您的“索引页面”没有冲突,那么您的逻辑可以使用您服务上的根路径“/”来引用,这看起来非常简单:您需要一个单一的重写规则:

Rewrite Engine on
RewriteRule ^/?(.+)$ /?u=$1 [QSA,END]

这样的规则应该在 http 服务器的主机配置中实现。如果您无权访问它,您可以使用分布式配置文件(通常称为“.htaccess”),但这会带来性能损失。必须首先启用对此类文件的解释。检查那个。显然,还需要在 http 服务器中启用重写模块。

如果您的 http 主机中有一些文件在DOCUMENT_ROOT您实现逻辑的地方,那么您可能希望将重定向添加到上述规则(显然,“index.php”只是这里的一个示例):

Rewrite Engine on
RewriteRule ^/?index\.php(?:/(.*))?$ /$1 [R=301,END]
RewriteRule ^/?(.+)$ /?u=$1 [END]

R=302 从临时重定向开始并且只有在确保一切按预期工作后才将其更改为R=301 永久重定向可能是有意义的。这可以防止令人讨厌的缓存问题。


推荐阅读