我的问题:假设某人想要访问我的网站,目前只显示此信息:http://i.imgur.com/jGMTfgA.png。我想要的是将根(www.anter-gerang.org)重定向到服务器上的文件,例如:http://i.imgur.com/wqCWGzY.png,即www.anter-gerang.org/1.php。 如何重定向网站,以便转到anter-gerang.org的人看到1.php文件?
答案 0 :(得分:0)
你有几种方法
.htaccess
到301重定向301重定向
在根目录中创建一个.htaccess
文件并执行重定向,转到example.com
的所有人都将被重定向到example.com/index.php
。只需替换您的信息。
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^$ http://example.com/index.php [L,R=301]
上面的代码是做什么的?我们来看看例1 - 将example.com重定向到www.example.com。第一行开始了 重写模块。下一行:
RewriteCond%{HTTP_HOST}!www.example.com $指定下一个 规则仅在http主机(即表示域的域)时触发 查询的网址不是( - 用“!”指定)www.example.com。 $ 意味着主机以www.example.com结尾 - 结果就是这样 example.com中的所有页面都将触发以下重写规则。 结合颠倒的“!”是每个主机不是的结果 www.example.com将被重定向到此域。
[NC]指定http主机不区分大小写。逃脱 “。” - 因为这是一个特殊字符(通常是点(。) 意味着一个字符未指定。)
最后一行描述了应该执行的操作:
RewriteRule ^(。)$ http://www.example.com/ $ 1 [L,R = 301]。 ^(。)$是 一个小魔术。还记得点的意思吗?如果没有,这个 可以是任何角色(但只有一个)。 。*表示你可以拥有 很多人物,不仅仅是一个。这是预期的。 ^()$ 包含请求的网址,没有域名。下一部分 http://www.example.com/ $ 1 [L,R = 301]描述了目标 重写规则 - 这是“最终”使用的域名,其中$ 1包含 (。)的内容。
下一部分也很重要,因为它为我们进行了301重定向 自动:[L,R = 301]。 L表示这是此次运行中的最后一条规则。 在重写之后,Web服务器将返回结果。 R = 301表示 web服务器返回301永久移动到请求 浏览器或搜索引擎。
Html重定向
虽然此解决方案和 JS ,但要求您拥有.html
页。
<meta http-equiv="refresh" content="0; URL='http://new-website.com'" />
content属性是浏览器重定向到之前的延迟 新页面,所以在这里我们将它设置为0秒。请注意,我们不需要 设置HTTP状态代码,但重要的是要仔细检查 奇怪的打开和关闭上面的报价(内有报价 引号,所以它们需要不同的类型和匹配)。
虽然此方法是重定向到网页的最简单方法 有一些缺点。根据W3C,有一些 使用Meta刷新标签吓坏的浏览器。用户可能会看到一个 闪存,因为页面A在被重定向到页面B之前被加载。它也是 禁用旧浏览器上的后退按钮。这不是一个理想的选择 解决方案,并且不鼓励使用它。
Js重定向
在html
文件中添加:
<script>
window.location = "http://example.com/your_resource";
</script>
答案 1 :(得分:0)
我明白了。出于某种原因,将1.php重命名为index.php并不起作用,因此我复制了1的内容并将其粘贴到索引中,这有效。 感谢所有回答的人,因为他们帮助很大(答案是两者兼而有之)