基于php变量重定向到url

时间:2014-06-02 15:50:35

标签: regex apache .htaccess mod-rewrite

我目前正在使用下面的代码获取Internal 500 Error

我所拥有的是一个游戏网站,用一个单独的php文件调用它的游戏(大约100个):

game-play.php?content=GAME1
game-play.php?content=GAME2
game-play.php?content=GAME3

我要做的是将每个游戏永久重定向到其等效的静态.html页面,其名称与新文件夹中上述链接中提供的参数相同。

所以上面会重定向到:

/games/GAME1.html
/games/GAME2.html
/games/GAME3.html

我目前在下面的代码给了我内部500个错误:

RewriteCond %{QUERY_STRING} content=([^/]+)/?  [NC]
RewriteRule ^/?  /games/?content.html [L,NC]

这似乎是一件很简单的事情,但我尝试了无数的内部错误或404页面的变化,或者根本没有。

2 个答案:

答案 0 :(得分:1)

您可以使用:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+game-play\.php\?content=([^\s&]+) [NC]
RewriteRule ^ /games/%1.html? [R=301,L]

RewriteRule ^games/([^./]+)\.html$ /game-play.php?content=$1 [L,QSA,NC]

答案 1 :(得分:0)

重定向
http://www.domain.com/game-play.php?content=GAME1

http://www.domain.com/game/GAME1.html

尝试:

RewriteEngine On
RewriteRule ^([^/]*)\.html$ /game-play.php?content=$1 [L]