域/ URL掩码

时间:2011-01-13 13:39:15

标签: php url masking

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

有没有办法可以将URL改为/ categoryname而不复制页面并存储在文件夹中?但是也允许用户输入/ categoryname并重定向到正确的页面?

3 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

讨论了解决方案here

  

这是由apache的重写模块完成的,这处理常规   表达式。你必须制定规则   在你的.htaccess文件中这样   您网站的根源:

RewriteRule ^ cat /([0-9] +)$ /index.php?category=$1

  

^表示之后的网址开头   www.example.com/ $表示结束   页面。

www.example.com/cat/123

  

将由服务器转换为:

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

  

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

开头      

RewriteEngine On Options   + FollowSymLinks RewriteBase / Here所有重写规则.. ...