.htaccess中的重写规则无法按要求运行

时间:2014-11-18 13:39:21

标签: php apache .htaccess

我在.htaccess上有REWRITE RULES的问题。 我试图在静态URL中重写动态URL。

该网站是一个多语种网站。 我已经为所选语言创建了静态URL,如下所示

www.example.net/index.php?lang= de
www.example.net/de/
...and so on....

现在我需要重写这样的URL查询:

www.example.net/de/player.php?Name=Gianfranco&Surname=Zola&id=468

www.example.net/de/spieler-Gianfranco-Zola-468.html

我使用的规则是:

RewriteEngine On
RewriteRule ^de/spieler-([^-]*)-([^-]*)-([^-]*)\.html$ /player.php?Name=$1&Surname=$2&id=$3 [L]

如果我点击链接以便在德语中找到与Zola相关的页面,则链接dos不会在请求的个人资料页面上重定向我,而是在我点击链接的同一页面中。

浏览器中显示的链接是正确的 的 www.example.net/de/spieler-Gianfranco-Zola-468.html

但是,如上所述,我无法查看页面播放器中包含的详细信息。

2 个答案:

答案 0 :(得分:0)

应该是这样的,

RewriteEngine On
RewriteRule de/spieler-([^-]*)-([^-]*)-([^-]*)\.html$ player.php?Name=$1&Surname=$2&id=$3 [L,NC]

更正^是问题&我在player.php前删除了'/'斜杠

答案 1 :(得分:0)

尝试此规则

 RewriteRule ^de/spieler-([^-]*)-([^-]*)-([^\.]*)\.html$ /player.php?Name=$1&Surname=$2&id=$3 [L]

或者

RewriteRule ^de/spieler-([^-]*)-([^-]*)-([0-9]*)\.html$ /player.php?Name=$1&Surname=$2&id=$3 [L]