我需要隐藏完整路径并尽快显示:
www.site.com/this/is/path/to/hide/page.php
- > www.site.com
任何想法都可以使用 .htaccess apache 和重写规则 ??
示例:
如果我输入www.site.com
,我想要打开index.php
(在/中),
但如果我去/hidden/path
我想打开file.php
(在隐藏/路径中)
在www.site.com上保留浏览器网址。
修改:
我想在浏览器栏www.site.com
中看到,我想在/this/is/path/to/hide/page.php
打开页面。
感谢
答案 0 :(得分:2)
正如我在:How does url rewrite works?中解释的那样,每次重写都会触发对重写URL的新调用。 (HTTP 3xx代码)。
因此,客户端将要求www.site.com/this/is/path/to/hide/page.php
,将被重定向到www.site.com
,并将作为普通用户提供给索引页面。
无法告诉客户端在浏览器栏中显示一个URL而不是另一个URL,客户端浏览器将始终发出新请求。 (或者你可以模仿任何网站)
如果您不反对使用cookie,或者可以使用环境变量,您可以执行以下操作:
RewriteRule this/is/path/to/hide/page.php / [co:knowHiddenPath=true]
环境变量的语法与E
相同,而不是co
。
(有关Cookie信息,请参阅http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html)
然后,您的索引页应该检查此cookie /变量是否为隐藏页面提供服务。
另一种解决方案是使用密码访问您的文件。因此,即使有人知道URL,他也不会访问该文件。默默无闻的安全是不存在的。
答案 1 :(得分:0)
答案 2 :(得分:0)
这将使用 mod_rewrite ,您可以将其放入 .htaccess
# Activate Rewrite Engine
RewriteEngine On
# Home page rewrite rule
RewriteRule ^$ /this/is/path/to/hide/page.php [QSA,L]
如果您点击网站根目录(例如http://www.example.com/
)