我有一个网站,它将一些GET变量传递给PHP中的不同页面。我的问题是,现在我有一个带变量的URL,即index.php?category = categoryname,这不是很难忘。
有没有办法可以将URL改为/ categoryname而不复制页面并存储在文件夹中?但是也允许用户输入/ categoryname并重定向到正确的页面?
答案 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所有重写规则.. ...