我正在使用一个简单的 htaccess 文件来重写我的项目的 url。我在一个 get 变量中重写了整个 url,然后使用 php 来解析它。
我的问题是当我尝试发送重定向标头时,我似乎无法正确处理。
例如,假设我正在查看页面
localhost/myProject/home
带头
header('Location: login');
它重定向到
localhost/myProject/home/login
当我尝试
header('Location: /login');
它需要我
localhost/login
这不存在,我收到 404 错误。
到目前为止,我发现工作的唯一方法就是当我这样做的时候
header('Location: http://localhost/myProject/login');
但我认为这不是一个好的选择,因为当我的网站上线时,我将不得不更改每一个标题。
有更好的方法吗?
我的 .htacces 文件是:
RewriteEngine On
RewriteBase /myProject/
#Make sure it's not an actual file
RewriteCond %{REQUEST_FILENAME} !-f
#Make sure its not a directory
RewriteCond %{REQUEST_FILENAME} !-d
#Rewrite the request to index.php
RewriteRule ^(.*)$ index.php?get=$1 [L]