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

.htaccess 用页面名称斜杠 GET 参数重写 url

如何解决.htaccess 用页面名称斜杠 GET 参数重写 url

我正在尝试将我的 URL 从 request/2 重写为 request?number=2

我试图在我的.htaccess

RewriteEngine ON

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^request/(.*)$ request?number=$1 [NC,L]

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

但结果是 404 Error

有人可以帮我吗?

解决方法

根据您展示的样品,您可以尝试以下操作吗?在测试您的网址之前,请务必清除浏览器缓存。

RewriteEngine ON
##To remove .php extension eg--> someone hits http://localhost:80/test.php it will redirect to http://localhost:80/test  
RewriteCond %{THE_REQUEST} \s([^.]*)\.php\s [NC]
RewriteRule ^ %1 [R=301]
 #RewriteRule ^(.*)$ $1.php [L]

##All non-existing files/directories will come in this rule whose URI starts from request. 
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^request/([\w-]+)/?$ request.php?number=$1 [NC,L,QSA]

##All non-existing files/directories will come in this rule set apart from URI which starts from request which is taken care above.   
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]

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