题
我的地址栏(在浏览器中)有一个问题。我网站的主页网址如下所示: 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
你可以进入FLASH
或Java Applet
,一旦这些被加载,你的网址不会再改变。
奇怪的事情想做,但一个简单办法(及任何东西,但小网站并不好)是用头(地点:XXXX)。