微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

htaccess - 隐藏文件扩展名并只保留变量的值

如何解决htaccess - 隐藏文件扩展名并只保留变量的值

原始网址 - example.com/art.PHP?a=lorem
想要显示为 - example.com/art/lorem
litespeed 服务器 - htaccess 已启用

RewriteEngine ON
RewriteRule ^art/(.*)$ /art.PHP?a=$1 [L]

不起作用
网址仍然是 - example.com/art.PHP?a=lorem
请帮忙

解决方法

您只有重写 example.com/art/lorem 的重写规则,但缺少将 example.com/art.php?a=lorem 重定向到 example.com/art/lorem 的重定向规则。

您可以使用:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+art\.php\?a=([^\s&]+) [NC]
RewriteRule ^ /art/%1? [R=301,L]

RewriteRule ^art/([\w-]+)/?$ art.php?a=$1 [L,QSA]

THE_REQUEST 变量表示 Apache 从您的浏览器收到的原始请求,并且在执行其他重写指令后不会被覆盖。此变量的示例值为 GET /index.php?id=123 HTTP/1.1

参考:

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。