php – 如何使用Last.FM或Wikipedia等社区URL样式?

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了php – 如何使用Last.FM或Wikipedia等社区URL样式?脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试理解如何处理URL中的字符,这是因为我正在构建一个用户可以存储内容站点,并通过在URL中挖掘它的名称来转到内容页面.

所以,像维基百科或Last.FM网站.

我在网站上看到,用户可以写一些类似于http://it.wikipedia.org/wiki/Trentemøller的东西,并且艺家的页面可以到达.

加载页面后,如果我复制URL,我看到写为:http://it.wikipedia.org/wiki/Trentemøller但如果我将其粘贴到文本编辑器中,它将被粘贴为
http://it.wikipedia.org/wiki/Trentem%C3%B8ller

所以charø被粘贴为ø

当然对于这样的URL(艺术家Takeshi Kobayashi的页面)也一样

http://www.last.fm/music/小林武史
http://www.last.fm/music/%E5%B0%8F%E6%9E%97%E6%AD%A6%E5%8F%B2

如果我在第一个或第二个数字,数字页面在任何情况下工作,为什么?

我想我应该对.htacces和mod_rewrITe做一些事情,但我不确定,特殊字符会自动转换为url特殊字符吗?

然后,我该如何让PHP使用内容名称进行正确的查询

如果我有一张桌子

table_users
- username
- age
- height
- weight
- sex
- email
- country

我能用Mod_rewrite写一个http://mysite.com/user/bob这样的地址来从table_users获取用户名bob但是http://mysite.com/user/小林武史怎么样?

在这里,我展示了一个我想做的简单例子:

#.htaccess
RewriteEngine On
rewriterule ^(user/)([a-zA-Z0-9_+-]+)([/]?)$user.PHP?username=$2

<?PHP
// this is the page user.PHP
// this is the way I use to get the url value
PRint $_REQUEST["username"];
?>

这是有效的,但它仅限于[a-zA-Z0-9_ – ],如何在不损失太多安全性的情况下更好地兼容所有其他字符?

有人知道一些避免麻烦的方法吗?

解决方法

大多数浏览器urlencode()小林武史到小林武史.

在您的.htaccess mod_rewrite规则中,您是否考虑使用以下内容

RewriteEngine On
RewriteRule ^(user/)(.+?)[/]?$user.PHP?username=$2

脚本宝典总结

以上是脚本宝典为你收集整理的php – 如何使用Last.FM或Wikipedia等社区URL样式?全部内容,希望文章能够帮你解决php – 如何使用Last.FM或Wikipedia等社区URL样式?所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。