Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 制作不正确的URL';默认为数据库值_Php_Url - Fatal编程技术网

Php 制作不正确的URL';默认为数据库值

Php 制作不正确的URL';默认为数据库值,php,url,Php,Url,想象一下数据库中的一个值——例如Raquel_Welch——代表一个页面URL(例如mysite/People/Raquel_Welch)。现在想象一下,如果有人输入的URL不正确,像下面的任何一个 mysite/People/Raquel Welch mysite/People/raquel_welch mysite/People/raquel welch 换句话说,URL拼写正确,但字母大小写错误和/或没有下划线。与获取404错误页面不同,我希望URL只是默认为正确的URL-mysite/

想象一下数据库中的一个值——例如Raquel_Welch——代表一个页面URL(例如mysite/People/Raquel_Welch)。现在想象一下,如果有人输入的URL不正确,像下面的任何一个

mysite/People/Raquel Welch
mysite/People/raquel_welch
mysite/People/raquel welch
换句话说,URL拼写正确,但字母大小写错误和/或没有下划线。与获取404错误页面不同,我希望URL只是默认为正确的URL-mysite/People/Raquel_-Welch

有人知道怎么做吗

顺便说一句,维基百科也有类似的功能;如果您键入的URL没有下划线,它将默认为正确的URL,尽管它似乎不适用于以下情况。。。韦尔奇


与其自动大写每个单词的第一个字母,我想我更希望URL只是默认为数据库中的一个值。

从URL大小写中查找键,并不加区分地加下划线(这需要在数据库中存储规范化版本,例如所有小写和下划线),然后,如果URL与规范版本不匹配,将301重定向发送回规范路径。

也许您可以尝试迁移到MVC并使用URL&比较使用
levenshtein
存储的字符串之间的相似性这就是您所说的MVC吗?-我将对此做一些研究。实际上,模型-视图-控制器。使使用URL更容易。我查看了301重定向。因此,如果我的URL与数据库中存储的值不匹配,它只会触发一个脚本,在我的页面头部插入301重定向代码。然而,我对匹配有点困惑。例如,如果URL是Raquel_Welch,那么这两个URL都不匹配:1)Raquel Welch,2)Jaguar。但是,第一个示例“raquel welch”是事实上的匹配,因为它有正确的字母(尽管它们是小写),还有一个表示下划线的空格。那么,我如何让我的网站知道“raquel welch”应该重定向到raquel_welch?你可能已经回答了我的最后一个问题;我不知道你说的“查钥匙”是什么意思