我用以下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/

10-13 00:10