[英]Multiple rewrite rule not working
好吧,URL重写是一场噩梦,而且我已经经历了很多天。
我正在尝试像这样重写网址:
example.com/playground.php?room=abc123
至 example.com/room/abc123
example.com/index.php?room=abc123&action=join
到 example.com/join/abc123
我能够成功重写第一个URL(如第一种情况),但无法正确重写第二个URL。 它被重写为example.com/room/join/abc123
。 我知道这两种情况都适用第一个规则,然后htaccess的执行停止。 但是,如何设法获得所需的解决方案呢?
.htaccess的
RewriteBase /
RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteRule ^room/([A-Za-z0-9]+)$ playground.php?room=$1 [L]
RewriteCond %{REQUEST_FILENAME}.php !-f
RewriteRule ^join/([A-Za-z0-9]+)$ index.php?room=$1&action=join [L]
您的问题不在于URL重写,而与您的playground.php
。 它具有相对URL而不是绝对URL。 请将join/abc123
更改为/join/abc123
。
您的.htaccess
也有一个小错误
你应该改变
RewriteCond %{REQUEST_FILENAME}.php !-f
至
RewriteCond %{REQUEST_FILENAME} !-f
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.