2011-01-13 90 views
1

我有一个网站,它将一些GET变量传递给PHP中的不同页面。我的问题是,现在我有一个url的变量,即index.php?category = categoryname,这不是很难忘。域/ URL掩码

是否有任何方法可以将URL更改为类似/ categoryname而不重复页面并存储到文件夹中?但是也允许用户输入/ categoryname并将其重定向到正确的页面?

回答

3

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

该方法在this article中有详细说明,我可以在此答案框中解释它。

3

你应该看看在.htaccess文件中写入一些apache Mod_Rewrite规则。

2

溶液讨论here

这通过的apache的重写模块完成,此处理规则 表达式。你必须把规则 像这样在你的.htaccess文件上 您的网站的根:

重写规则^猫/([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格式 独立于服务器端 脚本语言,因此 url中的.php不合逻辑。这就是为什么我 将其更改为产品/。该的.htaccess 开始与

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