【问题标题】:How to structure hyperlinks when using Clean URL or Pretty URL使用 Clean URL 或 Pretty URL 时如何构建超链接
【发布时间】:2016-11-25 02:40:03
【问题描述】:

当使用“干净”或“漂亮”的 URL 时,我尝试寻找处理动态网站上链接的最佳方法,但没有找到任何东西。

我找到了很多关于如何使用 mod_rewrite 和 try_files 的信息,我已经成功实现了,现在我的 php 前端控制器解析了 URL 上的所有参数,并正确链接到页面。这里没问题。

我遇到的问题是如何最好地在我的页面上构建所有链接。目前我的链接都是格式,例如。 “www.site.com?do=post&id=23” 效果很好。但是,我希望它们显示为“www.site.com/post/23”,由于 try_files 以及我的前端控制器如何解析 URL 中的所有参数,它已经可以正常工作。

但是,我现在要检查所有代码并更改所有动态构建的链接以构建“www.site.com/post/23”格式吗?这似乎需要做很多工作,老实说,我想留下一个“选项”来使用干净或脏网址,类似于 Wordpress 在其管理面板中允许它作为选项的方式。

这样的网站是否保留格式为“www.site.com?do=post&id=23”的链接,并在创建页面时对所有链接使用重写功能?那么当用户看到链接时,链接会显示为“干净”吗?

我对处理这个问题的最佳方法感到困惑,希望我能解释我在寻找什么。我只是想知道如何最好地处理动态链接,并且可以选择显示为干净或脏的 url 格式,因为没有更好的词。

感谢您的帮助。

【问题讨论】:

    标签: php url url-rewriting clean-urls pretty-urls


    【解决方案1】:

    这是一个非常自以为是的问题......

    您可以看到Laravel 框架路由器是如何工作的。 你不需要使用它,但你可以在那里获得想法。

    router 类负责知道如何创建指向某些资源、页面、操作的 URL,无论您想要什么。

    所以在您看来,您只需调用一个返回 url 的方法。

    【讨论】:

    • 您说的完全正确,这是一个非常概念化的问题。这就是为什么我一直在寻找几天并决定最终只是问。一旦我建造了更多东西,我不想稍后再回来改变一切。我宁愿现在就开始使用“最佳实践”概念,并继续在此基础上继续发展。所以希望从人们过去的经历中获得想法。
    • 所以你的建议是构建一个单独的类,为我提供的每个 url 返回一个格式化的 url。然后,如果我决定关闭 clean_urls 作为选项,该类将只返回它提供的相同 url,或者我会使用一个条件来完全跳过类格式?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-18
    • 1970-01-01
    • 2013-11-19
    • 2015-03-28
    相关资源
    最近更新 更多