首页 > 解决方案 > 使用 .httacces 文件从 url 隐藏参数

问题描述

我有 url reader?id=12

我已经使用以下 .htaccess 文件隐藏了 php 扩展名

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

但我希望它在地址栏中看起来像这样:reader/12

我应该如何修改 .htaccess 文件?

标签: php.htaccessparameters

解决方案


您可以使用%{QUERY_STRING}

RewriteEngine On
RewriteCond %{QUERY_STRING} id=(.+)$ [NC]
RewriteRule ^(.*)$ /reader/%1 [R=301,L,QSD]

然后在内部重写 URL,也使用:

RewriteRule ^/reader/([^/]*) /reader?id=$1 [L]

确保在测试之前清除缓存。你会注意到我已经使用R=301了,这是一个永久重定向,在测试时我建议你将R=302其更改为临时重定向。


推荐阅读