我正在尝试为我网站上的网页创建干净的网址。
HTTP://localhost/user.php ID = 50&安培;名称=伊斯梅尔
这个有效:
RewriteRule ^([^/]*)/([^/]*)$ /user.php?id=$1&name=$2 [L]
它有特殊的土耳其字符,它们是大写的。所以我想将它们重定向到同一页面:
的http://本地主机/ 50 /伊斯梅尔
答案 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']
加载用户,然后比较名称。