我有一个网站,我正在使用/ landing-page /文件夹,我将制作一些着陆页。我希望能够在广告中添加/lp/
而不是/landing-page/
的网址,并将其中/lp/
的网址替换为/landing-page/
。
因此: www.site.com/lp/ipad-inspections 会自动重定向到: www.site.com/landing-page/ipad-inspections
我想在没有/lp/
文件夹和第二页对应每个目标网页的情况下执行此操作。我的想法是让404页面检查网址并重定向,但我似乎无法让以下工作:
<?php /* Automatic redirect for landing pages */
$current_loc = $_SERVER['REQUEST_URI'];
$short_lp = '/lp/';
$long_lp = '/landing-page/';
if (strpos($current_loc, $short_lp)) {
$current_loc = str_replace($short_lp, $long_lp, $current_loc, 1);
header("location: ".$current_loc);
}
我在这里做错了什么,我的页面空白了?我已将其缩小到if
语句中的第一行,这会导致页面崩溃。
如果用apache有更好的方法吗?我可以在htaccess中添加一些行吗?
答案 0 :(得分:5)
RedirectPermanent /lp /landing-page
你的.htaccess中的应该可以解决问题。最好在它到达PHP阶段之前进行这种无条件重定向。它本质上是Apache中的“自由”操作,并为整个解析/编译/执行PHP阶段保存服务器。
答案 1 :(得分:1)
保留它,因为你已经完成它,但包括301永久移动的标题。
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);
还要尝试绝对引用您的网址,以便加入http://www.domain.com/
<强>更新强>
如果您想使用htaccess重定向,请尝试
redirect 301 /lp/landing-page/ http://www.domain.com/new.html