使用.htaccess创建干净的URL

时间:2014-01-20 13:00:08

标签: php regex apache .htaccess mod-rewrite

Helllo我有一个包含记录集记录的动态表的页面,我已经成功显示了这些记录,但点击动态表上的任何项目都会给我一个丑陋的URL

localhost / sms / mem.php?id = 8“

但我想将此网址转换为类似

的内容

localhost / sms / mem / 8

我已阅读并尝试创建干净的网址,  但它似乎自动将我的网址转换为一个干净的网址,这是我尝试使用

RewriteEngine On
RewriteRule ^([a-zA-Z0-9]+)$ mem.php?id=$1
RewriteRule ^([a-zA-Z0-9]+)/$ mem.php?id=$1

我做错了什么,导致它在网上被解释的方式似乎很简单

1 个答案:

答案 0 :(得分:1)

将此放在现有规则之前

RewriteEngine On
RewriteBase /sms/

RewriteCond %{REQUEST_METHOD} POST
RewriteRule ^ - [L]

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

RewriteRule ^mem/([a-zA-Z0-9]+)/?$ mem.php?id=$1 [L,QSA,NC]

这应该放在/sms/.htaccess档案