请告诉我如何在PHP或HTML中隐藏网页名称?例如,如果我有类似的东西:
www.mydomain.com/about.html
www.mydomain.com/project.html
www.mydomain.com/contact.php
仅显示为:
www.mydomain.com
我已经使用
看到了这个技巧将以下内容添加到.htaccess
文件中:
#######
#Allow PHP/HTML pages to load without the filename extension
######
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^(.*)$ $1.php
RewriteCond %{REQUEST_FILENAME}\.html -f
RewriteRule ^(.*)$ $1.html
但这只会删除扩展名。谢谢
答案 0 :(得分:0)
不可能。您无法将浏览器在地址栏中显示的内容更改为该级别。这是一个主要的安全问题。你可以做一些简单的事情,比如隐藏文件扩展名或将查询参数更改为“路径”组件,但是你无法说服用户的浏览器从根本上骗他们。
在这种情况下,您唯一的希望是使用<frameset>
,以便地址栏保留在您的顶级页面,并且各个页面都隐藏在<frame>
内。即使这是毫无意义的。将任何页面的地址“隐藏”在这样的帧内是非常简单的。
答案 1 :(得分:0)
您可以使用iFrame。
<iframe src="about.html" name="nameOfFrame" frameborder="0" width="100%" height="100%"> This is the text that will be displayed for browsers not supporting iframes. </iframe>
这会将整个页面包装在iframe中,因此您可以在index.html页面上执行此操作,并获取index.html页面的内容并将其放入&#34; home.html&#34;什么的。
对于iframe之外的超链接,您只需执行
<a href="page.html" target="nameOfFrame">Hey guys!</a>
可能不是这里最好的方法,但它的工作&#34; ...一个缺点是如果有人直接进入&#34; mydomain.com/about.html"它会将它们带到地址栏中带有/about.html的about页面。此方法还使观看者难以共享您的页面。
另一种方法是使用AngularJs和UIRouter。我只使用了一点,所以我不能像使用内联框架那样抛出一些代码,但你可以在这里阅读更多相关信息:https://github.com/angular-ui/ui-router
希望这有帮助!