【问题标题】:301 redirect partialy working. need help301 重定向部分工作。需要帮忙
【发布时间】:2011-03-31 10:08:25
【问题描述】:

我使用的是标准重定向,它可以部分工作。

它确实会重定向到新页面,但在浏览器中它会保留旧网址,就好像它仍在我的网站上一样。我想改为显示新网址,以便用户下次直接转到新页面而不是旧页面。

所以,如果我输入 old-url.php,服务器将重定向到 new-url.php,但在浏览器中用户可以看到 old-url.php。我希望浏览器显示 new-url.php

我应该使用 php 将浏览器重定向到新的 url 吗?

注意,我没有使用任何数据库,所以我只能通过 htaccess 和 php 来做到这一点

我不想使用 php,因为我重定向的文件从我的服务器中删除并创建它们只是为了重定向,这会在我的网站上弄得一团糟。

我想坚持使用 htaccess

【问题讨论】:

  • 什么是“标准重定向”?你能显示一些代码吗?

标签: php redirect http-status-code-301


【解决方案1】:

在您的 .htaccess 中键入完整路径,例如...

RewriteRule ^old/address http://www.example.com/new/address [R=301]

基于您的 .htaccess..

RewriteRule ^old.php http://website.org/directory/new.php [R=301,L] 

【讨论】:

  • 它不会将浏览器重定向到新的 url。只有服务器
  • @user656931 实际上R=301 会将 Location 标头发送到浏览器。如果这没有发生,您可能有一些相互冲突的规则。你可以试试[R=301,L],但如果你的规则没有同步,那么这还不够。
  • 这里你可以看到整个htaccess代码行mediafire.com/?otexu03raau4rmd
  • 试过了,在这里你可以看到整个 htaccess 代码行 mediafire.com/?otexu03raau4rmd
  • http:// 在那里;从 old.php 中删除 /。浏览器仍然不会重定向。现在只是为了确保您了解我需要什么:如果我在浏览器中键入 old-url.php,服务器将重定向到 new-url.php,但在浏览器中用户可以看到 old-url.php。我希望浏览器显示 new-url.php
【解决方案2】:

你在 PHP 中试过吗?

<?php
header('Location: http://www.example.com/');
?>

【讨论】:

  • 我想避免使用php。
  • 好吧,我建议这样做是因为您提到您可以控制 php... 耸耸肩
  • 是的,没关系……不过。非常感谢您的帮助
猜你喜欢
  • 2010-12-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-25
  • 2015-07-02
  • 2014-01-12
  • 2012-08-18
  • 1970-01-01
相关资源
最近更新 更多