我的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]
但它给我错误称为没有找到。我想我错过了一些东西,但没有得到的想法。让我知道,如果有人在这里可以帮助我同样的。
谢谢你!
1条答案
按热度按时间whitzsjs1#
你的第一个例子对我完全不起作用,参见https://htaccess.madewithlove.com?share=d6d58756-3171-4ace-99d3-354694f52b24。你的路径由三段组成(s,15091722和yes)。但在你的规则中,你只要求其中的一两段匹配。
你基本上需要做的是通过更多的路径段来扩展你的规则,例如:https://htaccess.madewithlove.com?share=edd7cb32-be87-49ac-ac72-562922bd2a49
正如您可能注意到的,像这样分割路径可能很快就会得到messi,所以也许应该考虑将所有内容重定向到index.php,并使用编程语言afterwords动态分割路径段