【问题标题】:creating a php website with user-friendly navigation创建具有用户友好导航的 php 网站
【发布时间】:2013-02-24 12:48:05
【问题描述】:

我们正在建立一个用户必须登录才能查看网站内容的网站(类似于 facebook 和 twitter 使用的)

问题是我们网站的导航完全搞砸了:

  • 当用户打开网站时,他位于:sitename.com
  • 当用户登录时,位置更改为:sitename.com/login_success.php
  • 当用户使用导航栏时,位置变为:sitename.com/login_success.php#page2(AJAX用于改变div内容)

与 facebook (url) 相比:

  • 用户已登录:sitename.com
  • 用户未登录:sitename.com
  • 用户导航到好友搜索:sitename.com/search
  • 用户导航到设置:sitename.com/settings

为什么像 facebook 这样的网站有如此干净的 URL?他们是如何做到的呢?我想创建一个干净的网站,带有干净/用户友好的 URL(没有 #?&=) - 我从哪里开始?我们是否需要使用任何框架(yii、zend 等)?

【问题讨论】:

    标签: php navigation


    【解决方案1】:

    是的,你必须使用 mod-re-write。

    例如,这是如何将sitename.com/login_success.php#page2 更改为sitename.come/page2

    <IfModule mod_rewrite.c>
    Options +FollowSymlinks
    RewriteEngine On
    </IfModule>
    
    #first, what is the original request
    RewriteCond %{THE_REQUEST} /login_success.php#page([0-9]*)
    # now use regex to redirect to the clean url structure
    RewriteRule ^$ /page%1? [R=301,L,NE]
    # now make the clean url serve the content from the ugly one
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^page([0-9]+) /login_success.php#page$1 [L]
    

    我不太确定最后一次正则表达式匹配,但我希望这能让你走上正轨!

    【讨论】:

      【解决方案2】:

      我相信在你的案例中已经完成了大量的编码。所以现在不建议切换到像 yii 或 zend 这样的框架,这个决定应该更早做出。

      检查how to simplify the url

      你可以使用 apache web server 的 mod_rewrite。

      【讨论】:

        【解决方案3】:

        他们使用mod_rewrite 和类似工具来清理他们的网址。

        mod_rewrite 在 Apache 上可用。 IIS 等效项名为 URL 重写。

        http://httpd.apache.org/docs/current/mod/mod_rewrite.html

        http://www.iis.net/downloads/microsoft/url-rewrite

        您无需使用特殊的框架即可使其工作,但它有助于简化流程,因为许多框架都内置了此功能。

        首先想到的是 Wordpress。 Wordpress 让您可以很好地控制它的工作方式,而无需过多地接触配置文件。

        【讨论】:

          猜你喜欢
          • 2013-03-23
          • 2015-06-02
          • 2012-11-13
          • 1970-01-01
          • 2016-06-02
          • 1970-01-01
          • 1970-01-01
          • 2021-05-17
          • 1970-01-01
          相关资源
          最近更新 更多