【问题标题】:Domain/URL Masking域/URL 掩码
【发布时间】:2011-06-08 12:21:07
【问题描述】:

我有一个网站,可以将一些 GET 变量传递到 PHP 中的不同页面。我的问题是现在我有一个带有变量的 url,即 index.php?category=categoryname,这不是很难忘。

有什么方法可以将 URL 更改为 /categoryname 之类的东西,而无需复制页面并存储在文件夹中?但也允许用户输入 /categoryname 并被重定向到正确的页面?

【问题讨论】:

    标签: php url masking


    【解决方案1】:

    .htaccess Apache mod_rewrite,几乎每个专业的动态网站都使用这种方法(如stackoverflow)。

    该方法在this article 中得到了充分的解释,比我在这个答案框中解释的要好得多。

    【讨论】:

      【解决方案2】:

      您应该考虑在 .htaccess 文件中编写一些 apache Mod_Rewrite 规则。

      【讨论】:

        【解决方案3】:

        解决方案讨论here

        这是由 apache 的 rewrite 模块完成的,它处理常规的 表达式。你必须制定一个规则 像这样在你的 .htaccess 文件中 您网站的根目录:

        重写规则 ^cat/([0-9]+)$ /index.php?category=$1

        ^ 表示 url 之后的开始 www.example.com/ $ 表示结束 页面。

        www.example.com/cat/123

        将被服务器转换为:

        www.example.com/index.php?category=123

        在 PHP 中你使用普通的 $_GET['id'] 多变的。重写模块必须是 由 apache 启用...这主要是 用于制作url格式 独立于服务器端 脚本语言,所以 .php 在 网址不合逻辑。这就是为什么我 将其更改为 product/ 。 .htaccess 以

        开头

        RewriteEngine On 选项 +FollowSymLinks RewriteBase / 这里所有的重写规则.. ...

        【讨论】:

          猜你喜欢
          • 2019-04-12
          • 2016-12-25
          • 1970-01-01
          • 2023-03-29
          • 1970-01-01
          • 2014-12-08
          • 1970-01-01
          • 2016-11-20
          • 1970-01-01
          相关资源
          最近更新 更多