因此,我已将网站从site.com移至sub.site.com。我还移动了预订系统。
我是否可以在site.com的index.php上安装PHP代码,以检查用户是否希望site.com/unbook.php将其自动重定向到sub.site.com/unbook.php
最理想的选择是“如果URL中除了site.com以外的任何内容,则重定向所有内容”
类似
$urlafter = explode("site.com", $url);
if (strlen ($urlafter[1]) > 0 ) {
header("Location: sub.site.com".$urlafter[1]);
exit();
}
或者使用$_SERVER[REQUEST_URI]
甚至是.htaccess
之类的东西会更好
-编辑-
不可重复,因为它们仅显示.htaccess答案,我更喜欢PHP
答案 0 :(得分:0)
对于场景,使用Htacces更好。 在site.com的.htaccess文件中,您可以设置以下规则进行重定向:
Redirect 301 / http://sub.site.com/
301用于永久重定向。
如果重定向是临时的,则可以改用302。
在Php中,您可以使用以下代码替换域:
$uri = $_SERVER['REQUEST_URI'];
$old_domain = 'yoursite.com';
$new_domain = 'sub.yoursite.com';
$old_domain_pos = strpos($url, $old_domain);
$redirect_url = substr($url, 0, $old_domain_pos).$new_domain.substr($url, ($old_domain_pos+strlen($old_domain)));
以上代码仅替换一次域,而其他所有内容均保持不变。 如果您的网址如下所示,则域可能在查询字符串中重复,而这些字符串本身需要替换。
http://www.yoursite.com/get/?assset=www.yoursite.com/imgs/pic01.png
然后您可以考虑使用string_replace方法。
$redirect_url = str_replace($old_domain, $new_domain, $url);