mod_rewrite seo友好的网址

时间:2015-02-25 22:30:49

标签: php apache .htaccess mod-rewrite

我让youtube让我们播放视频,并且我正在使自己成为一个网站,但是我正陷入制作一些SEO友好的网址,下面是mod_rewrite是我正在使用的代码

RewriteRule /lets-play/(.*)/games.php /lets-play.php?platform=$1

以上只是不起作用,在访问let-play / PS4 / games.php的预期页面时获得404 也尝试了

RewriteRule /lets-play-(.*)-games.php /lets-play.php?platform=$1 (this is the ideal solution)
RewriteRule /lets-play/(.*)\games.php /lets-play.php?platform=$1 (results in 500 error)

我目前所拥有的是一个页面,您可以从可用列表中选择一个平台(ps4,xbox one,pc等),一旦您选择了一个平台,您将被带到一个具有?platform = PS4的网址(或者你选择了什么)然而我想要拥有的是如果可能的话让我们玩PS4游戏,如果没有让玩/ ps4 /游戏会做

我的代码是否有任何明显错误的错误?我假设重写只是屏蔽了网址,使其显示为其他内容,并且重写引擎也已启用。

无法在localhost上提供链接。

谢谢,

詹姆斯。

修改

我应该在htaccess上添加一个完整的新手。

1 个答案:

答案 0 :(得分:1)

RewriteRule

中删除第一个斜杠
RewriteRule lets-play-(.*)-games.php lets-play.php?platform=$1 [L,QSA] # your ideal solution
RewriteRule lets-play/(.*)/games.php lets-play.php?platform=$1 [L,QSA]

同时添加[L]以在找到匹配项后停止查找匹配

QSA正确附加查询字符串..

这意味着

lets-play/PS4/games.php?date=today 将正确重写

lets-play.php?platform=PS4&date=today