.htaccess使用正斜杠重定向

but5z9lq  于 2022-11-16  发布在  其他
关注(0)|答案(1)|浏览(118)

我的index.php文件在s目录中,如
https://example.com/s/index.php
我有如下.htaccess文件

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?random=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?random=$1&java=$2 [L]

它工作正常,重定向正确
例如https://example.com/s/15091722/yes
但我想再加一个变量
https://example.com/s/15091722/yes/152030
所以我试过

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ index.php?random=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ index.php?random=$1&java=$2 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ index.php?random=$1&java=$2&u=$3 [L]

但它给我错误称为没有找到。我想我错过了一些东西,但没有得到的想法。让我知道,如果有人在这里可以帮助我同样的。
谢谢你!

whitzsjs

whitzsjs1#

你的第一个例子对我完全不起作用,参见https://htaccess.madewithlove.com?share=d6d58756-3171-4ace-99d3-354694f52b24。你的路径由三段组成(s15091722yes)。但在你的规则中,你只要求其中的一两段匹配。
你基本上需要做的是通过更多的路径段来扩展你的规则,例如:https://htaccess.madewithlove.com?share=edd7cb32-be87-49ac-ac72-562922bd2a49
正如您可能注意到的,像这样分割路径可能很快就会得到messi,所以也许应该考虑将所有内容重定向到index.php,并使用编程语言afterwords动态分割路径段

相关问题