我想重写网址,例如 index.php?c = 4 & index.php?g = 23 进入 website.com/games/categoryname/id / 和游戏页面 website.com/play/gamename/id /
相同我的htaccess文件如下所示:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^([a-zA-Z0-9\-_%]+)/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?c=$3
RewriteRule ^([a-zA-Z0-9\-_%]+)/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?g=$3
问题是只有第一个重写规则正在运行,如果我发表评论,那么第二个也会起作用,但从不同时:(。我在MAMP上测试这个
你能帮帮我吗?
答案 0 :(得分:3)
它们无法同时工作,因为它们具有相同的条件 - 您已使用相同的条件设置了两个不同的操作,并且只执行了第一个操作。
啊,我理解你想要达到的目标:Options +FollowSymlinks
RewriteEngine on
RewriteRule ^(games)/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?c=$3 [L]
RewriteRule ^(play)/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?g=$3 [L]
答案 1 :(得分:1)
你必须做这样的事情:
Options +FollowSymlinks
RewriteEngine on
RewriteRule ^play/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?c=$2
RewriteRule ^games/([a-zA-Z0-9\-_%]+)/([0-9]+)/$ index.php?g=$2