我用以下htaccess为自己构建了一个小型mvc
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?controller=$1 [QSA,L]
当我现在点击一个链接
http://example.com/mycontroller/
时,我会到达控制器mycontroller
。这里一切正常。但在
http://example.com/mycontroller/
内部,我还有更多的链接,即http://example.com/mycontroller/edit/1
链接,它们引导我找到http://example.com/mycontroller/mycontroller/edit/1
(?)怎么会这样?我该怎么解决?
最佳答案
HTML中的链接看起来如何?<a href="/mycontroller/edit/1" ...
或<a href="mycontroller/edit/1" ...
?
后者是相对于当前路径的,当您已经在/mycontroller/
时,它将扩展到/mycontroller/mycontroller/edit/1
要解决此问题,您需要使链接服务器相对(即从/
开始)
关于php - RewriteBase-带我到同一个目录?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39204036/