1

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

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

4

3 回答 3

4

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

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

于 2011-01-13T13:41:46.517 回答
4

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

于 2011-01-13T13:41:51.333 回答
2

解决方案在这里讨论:

这是由 apache 的 rewrite 模块完成的,它处理正则表达式。您必须在网站根目录的 .htaccess 文件中添加这样的规则:

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

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

www.example.com/cat/123

将由服务器转换为:

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

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

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

于 2011-01-13T13:44:58.100 回答