2015-04-13 83 views
3

我想为我的网站上的页面创建干净的网址。重写为大写和小写

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

这一个工程:

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

它具有特殊的土耳其人物和他们是大写的。所以我想这些重定向到同一页:

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

http://localhost/50/ismail

+1

这应该在表单提交时处理。当一个简单的'toLowerCase()'可以解决这个问题时,我认为没有理由使用mod-rewrite来检查每一个请求,并且会影响性​​能。 –

+1

我认为你可以让它像现在一样使用'[NC]'标志 – kosmos

回答

0

拉维是正确的,你需要你的正常化DB数据。您仍然按照用户输入的名称存储名称,但是您创建了具有名称标准化'slug'版本的附加列。试试library like URLify为你做。

然后,在您放入自己内容的URL中,使用slug。如果你在那里的URL蛞蝓不匹配该用户ID的请求,只是重定向到正确的ID +塞网址..

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

user.php,只有$_GET['id']加载用户则比较名称。