我最近发布了一个关于在我的网站上创建虚 URL 的问题,虽然我得到了很多很好的答案,但我很想知道我最初的想法有什么问题:
问题来了: 我目前有看起来像这样的丑陋 URL: http://www.hikingsanfrancisco.com/hiker_community/hiker_public_profile.php?community_member_id=2
我想要的是像这样优雅的东西: http://www.hikingsanfrancisco.com/alex-genadinik
我建议的解决方案是: 我可以只将“alex-genadinik”存储在数据库中(而不是 MVC Controller )并在查找此人时获取虚 URL 吗?然后我可以重定向到外观优雅的域?
或者重定向是否会增加一定程度的技术笨拙和不灵活?也许我根本不需要重定向。我的意思是我会在数据库而不是服务器中查找内容。我认为这是唯一的区别。想法? :)
最佳答案
您提出的解决方案没有任何问题。事实上,WordPress 可以配置为执行此操作。
我会按如下方式实现它(类似于 WordPress):
- 有一个 .htaccess 文件包罗万象 不存在的文件 请求,并重写到你的 路由器.php
- 有你的 router.php 检查这个不存在的路径 在您的数据库中,对照预先计算的个性化名称列表。
- 如果存在,显示 相关信息,如不返回 一组 404 header ,表明文件或虚名都不存在。
关于php - 这个提议的 Router for Vanity-URLs 解决方案有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889296/