重写为大写和小写

时间:2015-04-13 00:49:23

标签: apache mod-rewrite

我正在尝试为我网站上的网页创建干净的网址。

HTTP://localhost/user.php ID = 50&安培;名称=伊斯梅尔

这个有效:

RewriteRule ^([^/]*)/([^/]*)$ /user.php?id=$1&name=$2 [L]

它有特殊的土耳其字符,它们是大写的。所以我想将它们重定向到同一页面:

的http://本地主机/ 50 /伊斯梅尔

http://localhost/50/ismail

1 个答案:

答案 0 :(得分:0)

Ravi是对的,您需要规范化您的数据库数据。您仍然存储用户输入的名称,但是您创建了一个附加列,该列具有该名称的标准化“slug”版本。请尝试library like URLify为您完成。

然后,在您放入自己内容的网址中,使用slug。如果您收到URL中的slug与该用户ID不匹配的请求,只需重定向到正确的id + slug URL ..

RewriteRule ^([1-9]\d*)/([^/]*)$ user.php?id=$1&name=$2 [B,QSA,L] 

user.php中,仅按$_GET['id']加载用户,然后比较名称。