5

When I upload my website files to my server and goto my website, i see the index.html at the url bar of the browser. How can I hide this?

http://bakpinar.com/about/about-us.html

I would like it to look like in this example;

http://www.royaltyline.com

as you can see, you only see the website address in the url bar of the browser. And when you click to another page, it doesnt show the .php, .asp or .html extension, just shows the folder name.

4

5 回答 5

9

要隐藏地址栏中显示的扩展名,您有两个选项。

  1. 如果您控制服务器,则可以定义规则,根据用户尝试访问的 URL 重写 URL。在 PHP 中,您可以使用 .htaccess 文件来定义 mod_rewrite 规则。对于与 .htaccess 类似的功能,您可以在 IIS 7 及更高版本中安装应用程序请求路由模块。在 IIS (Windows) 中,您可以设置用户访问特定站点时出现的默认页面。
  2. 您还可以使用 AJAX 通过同一页面访问所有页面,或者将所有内容放在同一页面上并使用 CSS 隐藏并使用 CSS 和/或 JS 显示。

这是一个非常高级的答案,因为具体情况因情况而异。

于 2013-10-26T12:03:59.750 回答
6

如果有人还在寻找,一个简单的方法是使用全屏 iFrame。无论您的用户在页面的哪个位置,他们总是只能看到主 url。这在当时非常流行,但就可用性而言,这是一种糟糕的做法。

<html><head>the stuff</head><body>
<iframe src="http://bakpinar.com/about/about-us.html" width=100% height=100%></iframe></body></html>

将其写入http://www.royaltyline.com的 index.html 文件中

于 2015-11-21T08:26:13.623 回答
5

它实际上不是文件夹名称。这是重写的URL。

要执行此类操作,您应该将所有请求重定向到一个文件(例如 index.php),然后解析 URL 并根据其部分,显示特定文件。

要将所有内容重定向到 index.php,请使用 Apache + .htaccess 文件的 mod_rewrite 模块。

要选择特定文件,您可以实现几种方法之一。它通常在设计模式中被称为路由。

完全另一种方法是使用 AJAX 重新加载内容。但这不是您作为示例在网站上制作的方式。

一般来说,网络上有很多关于 PHP 中路由 url 的信息。只是做一些研究。

于 2013-10-26T12:04:38.517 回答
5

是的,您可以通过 javascript 来完成。

<script>
       window.history.replaceState('','','/');
</script>
于 2019-08-13T05:46:21.367 回答
1

您正在有效地寻找重写 URL。如果您的 Web 服务器是 Apache,您将能够使用重写模块 (mod_rewrite) 将对 http://bakpinar.com/about/ 的请求定向http://bakpinar.com/about/about-us.html

如果您没有运行 Apache,大多数 Web 服务器在请求目录时会将 index.html 作为默认页面,因此重命名

about-us.html

index.html

并将传入链接更改为

/about/about-us.html 

简单地

/about/

会给你同样的结果。

于 2013-10-26T12:06:34.387 回答