Php MVC URI路由在重定向时会导致地址栏上的重复链接
我的URL路由器有问题。当在地址栏上手动键入URL时,路由器工作正常,如Php MVC URI路由在重定向时会导致地址栏上的重复链接,php,.htaccess,Php,.htaccess,我的URL路由器有问题。当在地址栏上手动键入URL时,路由器工作正常,如 http://localhost/mysite/home/index 我正在使用这个.htaccess文件 Options -MultiViews -Indexes RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.+)$ index.php?url=$1 [QSA
http://localhost/mysite/home/index
我正在使用这个.htaccess文件
Options -MultiViews -Indexes
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
它将所有请求重定向到根目录中的index.php
使用URL:
http://localhost/mysite/home/index
它调用生成视图的控制器,在视图中我有到主页的链接
<a href='http://localhost/mysite/home/index/' alt='test'>HOME</a>
它正确地重定向,但它会导致如上所示的重复URL,我不知道如何解决它。我点击的次数越多,添加的URL就越多。更重要的是如何为该锚创建URL。如果单击anchor,您将获得参数full path
localhost/mysite/home/index
。如果你为你的网站创建一个虚拟主机可能会更好。一般来说,你不需要你的内部应用程序链接来包含你的域名(这里http://localhost
)。如果省略此项,则应用程序中的所有链接/表单都将与您的域相关
因此,此URL在
中:
可以更清晰地表示为:
/mysite/home/index
这意味着您的应用程序将在您连接到的任何域和任何协议(https
以及http
)上运行
唯一需要显式引用域的时间是:
- 使用
标题('Location:')重定向时
- 当您引用的域不是当前域时
- 当您希望切换协议时
http://localhost/mysite/home/index
/mysite/home/index