编辑:
感谢 Anubhava,这是 htaccess 中的重写:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^([\w_|-]+)$ main.php?u=$1 [L,QSA]
它的作用:它需要 mysite.com/tatata 并将其发送到 main.php?u=tatata
这工作得很好。但是,当我尝试执行 mysite.com/cc 时,它给了我 403 禁止错误。我试图查看是否有一些隐藏的 .cc 文件夹,不,我的站点中没有 /cc。我尝试了 /a 和 /aa,因为我认为我可能搞砸了重写,至少需要 3 个字母。两者都正确重写。
那么什么会导致这种行为。我猜我在重写函数的方式上遗漏了一些东西。
-----编辑更多----
所以为了看看会发生什么,我补充说:
RewriteRule ^([\w_|-]+)\/$ main.php?u=$1 [L,QSA]
现在它需要 /admin/ (一个实际的目录)并输出 /main.php?u=admin 但是使用 /cc/ 或 /cc ...仍然是同样的问题。
这种情况发生在两台机器上,由两个不同的人设置。