0

mod-rewriteでこのようなことをすることは可能ですか?

現在の URL:

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]

もちろん、実際には存在しない部署に向かう人には注意する必要があり、すべての DeptName が意味を成していることを確認する必要があります。

301 リダイレクトが必要な場合は、書き換えルールの最後で[R=301]orを使用します。[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 に答える