0

有可能用 mod-rewrite 做这样的事情吗?

当前网址:

www.example.com/Departments/dynamicPage.php?DeptID=10&DeptName=HR

设置重写,这样:

www.example.com/hr

可以重定向到上述内容(带有参数)?

我知道我可以在根级别创建一个“hr”文件夹并放入一个带有元刷新的 html 页面,但我讨厌额外的混乱。

我不认为 .htaccess 301 是可能的,但如果我错了,请纠正我。我正在寻找一个优雅的解决方案,可以添加到未来的实例中。

4

2 回答 2

2

似乎有道理。类似这样的东西应该可以解决问题:

RewriteRule ^hr$ /Departments/dynamicPage.php?DeptID=10&DeptName=HR [L]

如果你想让它通用:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /Departments/dynamicPage.php?DeptID=10&DeptName=$1 [L]

当然,你需要小心那些前往实际上并不存在的部门的人,你需要确保你所有的部门名称都是有意义的。

如果您想要 301 重定向,请在重写规则的末尾使用[R=301]或。[L,R=301]

于 2009-12-01T21:24:15.230 回答
0
RewriteEngine On
RewriteRule ^hr$ Departments/dynamicPage.php?DeptID=10&DeptName=HR [R=301]
于 2009-12-01T21:23:39.170 回答