繁体   English   中英

多个重写规则不起作用

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM