我的地址栏(在浏览器中)有一个问题。我网站的主页网址如下所示: http://localhost/Website/index.php

如果我写 .../Website/home.php 它加载了 home.php 页。我认为如果任何人知道其地址就可以访问他们想要的任何网页,这是不安全的。我想阻止地址栏中的自动网址重定向。请任何人帮我制作,以便如果有人写 .../home.php 它将浏览器重定向到的地址 index.php 作为默认页面。

没有正确的解决方案

其他提示

万维网的整个概念是每个资源(例如每个网页)都有一个唯一的资源标识符(地址)。这是互联网如何工作的一个组成部分,你应该遵循它,而不是避开它。

请确保你有一个漂亮的大链接回你的主页,人们会使用它,如果他们的土地在不同的页面,并不能找到他们想要的东西。

我希望这有助于。

简而言之:你不能这样做。正如其他人提到的,PHP 是 服务器端语言 这意味着它无法控制浏览器(即防止某人更改 URL)。阅读并点击以下链接 PHP 是如何工作的? 了解服务器端和客户端语言之间的区别。

维基百科文章 全球资讯网, 统一资源定位符 (URL)网络服务器 您也可以对 WWW 的工作原理以及 URL 的含义有一个基本的了解。

但您可以控制可以访问哪些文件。有两种方法:

网络服务器配置

大多数(每个?)Web 服务器都允许您配置规则来控制哪些文件应该可访问(也称为访问控制)。她是一个如何做到这一点的例子 阿帕奇网络服务器.

PHP:前置控制器

您也可以直接使用 PHP 来完成此操作(以及一些 Web 服务器配置)。她的神奇关键词是 前控制器模式. 。这是例如充当应用程序的单一入口点的类。这意味着每个请求例如到

 http://localhost/Website/home.php

或者

http://localhost/Website/foo/bar.php

被重定向(转发,无论你想如何命名)并由

 http://localhost/Website/index.php

因此,最终您可以而且必须决​​定用户尝试访问某个 URL 时会看到哪些内容。
这使您可以更好地控制 URL(外观),但您必须投入更多精力来配置它。

如果您对其工作原理感兴趣,我建议您查看 Zend框架 它实现了这个模式。

开放问题...

虽然你 这样做,问题是你是否必须这样做。如果你不想 home.php 为了便于访问,您为什么首先将其放在您的网络服务器上?

或者您可能对网站的结构有错误的认识。A 单身的 网站包括 多种的 页面(大多数时候),例如

index.php   // is the main page
about.php   // is about the site or you
news.php    // contains the latest news you provide
archive.php // older news or articles
...

甚至希望用户/访问者可以通过在地址栏中输入 URL 或通过书签来直接访问这些页面。这就是网站或万维网的工作原理。

PHP不能做到这一点;它是一个服务器端的技术,所以不能修改浏览器的行为。根本不把任何其他目录中的文件,并且当他们尝试来找到它不存在这样的文件,浏览器会通知用户。

您可以得到这样的结果,即使没有帧。如果您使用JavaScript和Ajax动态加载内容的URL不会改变。

虽然我从来不推荐此为谷歌的缘故,这将是这样做的最漂亮的方式和PHP仍然做工精细

我想借此Sohnee建议,但如果你真的想你可以通过使用HTML框架创造的幻觉。

我同意了答案贴最近。

不过,如果你并不需要HTML你可以进入FLASHJava Applet,一旦这些被加载,你的网址不会再改变。

奇怪的事情想做,但一个简单办法(及任何东西,但小网站并不好)是用头(地点:XXXX)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top