是否可以通过.htaccess重定向隐藏其中一个GET变量



假设我通过get方法传递4个变量,比如game_namegame_idgame_categorygame_player

默认链接看起来是这样的:www.games.com/gameinfo?game_name=zxcvb&game_id=12345&game_category=foo&game_player=bar

现在,我想重写URL如下:www.abc.com/gameinfo/foo/zxcvb/bar

我不想在链接中显示游戏的id,但仍然希望使用GET方法进行传递。

如何做到这一点?

通过httpd.conf启用mod_rewrite和.htaccess,然后将此代码放在.htaccessDOCUMENT_ROOT目录下:

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /
# From: /gameinfo/12345/foo/zxcvb/bar
# To: /gameinfo?game_name=zxcvb&game_id=12345&game_category=foo&game_player=bar
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(gameinfo)/([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$ /$1?game_name=$2&game_id=$3&game_category=$4&game_player=$5 [L,QSA,NC]

最新更新