我的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,L]
将所有请求重定向到根目录中的索引.php。
使用网址:
http://localhost/mysite/home/index
它调用生成视图的控制器,在视图中我有指向主页的链接。
<a href='http://localhost/mysite/home/index/' alt='test'>HOME</a>
当我点击时,我在地址栏上得到了类似的东西
localhost/home/index/localhost/home/index/localhost/home/index
它正确地重定向,但它会导致重复的URL,如上所示,我不知道如何解决它。我点击的越多,添加的 URL 就越多。
更重要的是如何为该定位点创建 URL。如果单击锚点,则会得到参数完整路径localhost/mysite/home/index
。如果您为您的网站创建一个虚拟主机,也许会更好。
通常,您不需要内部应用程序链接来包含您的域名(此处http://localhost
)。如果省略此项,则应用程序中的所有链接/表单都将相对于您的域。
因此,此URL中的<a>
:
http://localhost/mysite/home/index
可以更清晰地表示为:
/mysite/home/index
这意味着您的应用程序将在您连接到的任何域以及任何协议(https
以及http
)上运行。
唯一需要显式引用域的时间是:
- 使用
header('Location: ')
重定向时 - 当您引用当前域以外的域时
- 当您希望切换协议时