And*_* SK 46 php redirect header http-status-code-301
我有domain.com.如果用户已登录,则应自动加载domain.com/option-X,其中X是用户的预定义选项.
所以,我在index.php的顶部这样做:
header("Location: /option-X");
Run Code Online (Sandbox Code Playgroud)
但是,如果用户未登录,我只需自动选择第一个选项,如下所示:
header("HTTP/1.1 301 Moved Permanently");
header("Location: /option-a");
Run Code Online (Sandbox Code Playgroud)
所以,我有两个问题涉及这样做的含义:
Roe*_*zen 96
301的效果是搜索引擎将索引/选项-a而不是/ option-x.这可能是一件好事,因为/ option-x对于搜索索引是不可达的,因此可能对索引产生积极影响.只有你明智地使用它;-)
重定向后放入exit(); 停止执行的其余脚本
header("HTTP/1.1 301 Moved Permanently");
header("Location: /option-a");
exit();
Run Code Online (Sandbox Code Playgroud)
Gar*_*mad 31
这个更好:
<?php
//* Permanently redirect page
header("Location: new_page.php",TRUE,301);
?>
Run Code Online (Sandbox Code Playgroud)
只需一个电话,包括代码301.还要注意同一目录中文件的相对路径(不是"/dir/dir/new_page.php"等),所有现代浏览器似乎都支持这种路径.
我认为这是自PHP 5.1.2以来可能更早的.
只是一个提示:使用http_response_code比编写完整标头更容易记住:
http_response_code(301);
header('Location: /option-a');
exit;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
91336 次 |
| 最近记录: |