【问题标题】:A Dynamic website using PHP使用 PHP 的动态网站
【发布时间】:2012-12-13 04:41:14
【问题描述】:

我是一名初级 PHP 程序员。我在谷歌上搜索了“动态 PHP 网站教程”。我发现了一些东西。他们使用$_GET 变量使网站动态化,因此 URL 如下所示:

  • example.com/?page=home
  • example.com/?page=about
  • example.com/?page=下载 等等……

但是我在互联网上找到的大多数动态网站都有这样的链接:

  • example.com
  • example.com/about
  • example.com/download 等等....

那么他们是怎么做到的呢??他们有所有类别的文件夹吗?还有一些网站有文章 URL(例如:example.com/articles/posts/2010/article1.php)。如果他们有所有项目的文件夹,那将是一团糟。如果不是那么如何?有人可以举个例子吗?

【问题讨论】:

  • 这完全是关于.htaccess。您还必须阅读.htaccess
  • 即所谓的,URL重写。网络服务器会将漂亮的 url 映射到经典的 GET/POST 请求。

标签: php javascript html css


【解决方案1】:

如果您使用的是 apache,请阅读:http://httpd.apache.org/docs/current/mod/mod_rewrite.html

如果您使用的是 IIS,请阅读:http://www.iis.net/downloads/microsoft/url-rewrite

【讨论】:

    【解决方案2】:

    为了使用 $_GET 变量,它必须在查询字符串中(或通过其他非“默认”方式进行路由)。

    例如,您使用的 URL 将变为。

    example.com/?page=home
    example.com/?page=about
    example.com/?page=Downloads
    

    此外,您可以使用 .htaccess 文件 (http://httpd.apache.org/docs/2.0/misc/rewriteguide.html) 重写 URL

    【讨论】:

      【解决方案3】:

      您对页面路由感兴趣。

      htaccess and MVC routing 可能会让你走上正确的道路:)

      【讨论】:

      • 这就是我的意思!但这是唯一的方法吗?
      • 在我看来,这是向用户隐藏页面路由的最简单方法。
      【解决方案4】:

      为了呼应其他人,它被称为 url rewite。 例如,网址

      http://example.com/index.php?ext=blog&cat=news&date=12122012 
      

      可以改写为

      http://example.com/blog/news/12-12-2012
      

      这不是自动的,它需要在名为 .htaccess 的文件中定义用于理解新 URL 的模式,该文件通常位于服务器根目录中。注意前面的'.'在文件名中使其成为隐藏文件。

      当我第一次习惯 PHP 时,我发现网站 http://phpbuilder.com 很有帮助。他们有很多文章,还有一个对新手来说相当不错的论坛。 http://devshed.com 也是一个不错的网站,有大量关于 PHP 以外的主题的信息。

      【讨论】:

      • 请注意,令人高兴的是服务器接收到 URL example.com/blog/news/12-12-2012 并重写它以便 PHP 看到 example .com/index.php?ext=blog&cat=news&date=12122012 并且能够访问上面 url 中的 $_GET 变量,例如 $_GET['ext'] 和 $_GET['task']。
      【解决方案5】:

      您可以通过文件夹实现这种效果,但大多数使用重写 (Apache)。此处涉及的主题有点过于宽泛,但如果您只搜索重写教程,您会很快找到一些。

      $_GET 仅用于从 URL 获取变量。虽然这可用于使网站动态化,但这是一种通常不受欢迎的技术。

      通过重写,您基本上有一个类似 /about 的 URL,但重写告诉您的服务器类似“像这样操作实际上是 ?page="about"),然后您使用 $_GET 来处理。

      【讨论】:

        【解决方案6】:

        作为 PHP 初学者,我不建议您使用.htaccess,因为在继续之前您需要学习很多东西。您有 2 个选项来发送请求,一个是 GETPOST。您可以在互联网上获得更多关于相同的信息。

        您还可以选择使用CMS 启动dynamic website,我建议您使用wordpress。 CMS 将有一些in-built function,这将帮助您更快地完成工作。也使用他们的control panel you can update the URL format

        我还将敦促您一步一步地按照您在互联网上找到的每个教程进行操作。

        一切顺利

        【讨论】:

          【解决方案7】:

          如果你想这样做,你必须使用.htaccess 文件并且必须在你的apache 服务器中加载mod_rewrite

          在你的根目录中创建名为.htaccess的文件

          然后写:

           RewriteEngine On
           RewriteRule ^(.*)\.php$ index.php?page=$1 [L,QSA]
          

          然后调用一个页面

          my-page.php
          

          它将在内部重定向为index.php?page=my-page,但在浏览器中它将显示为my-page.php

          【讨论】:

            猜你喜欢
            • 2015-02-15
            • 1970-01-01
            • 2017-10-25
            • 2013-03-21
            • 2018-08-09
            • 2018-01-30
            • 1970-01-01
            • 2011-04-05
            • 1970-01-01
            相关资源
            最近更新 更多