我正在使用一个简单的htaccess文件来重写我的项目的网址。我在一个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]
答案 0 :(得分:1)
你可以这样做:使用base url变量。定义变量global或config文件。你只需要改变一次该变量:
$base_url = "http://google.com"; or define('base_url', 'http://google.com');