htaccess重定向页面但不显示文件

时间:2011-11-22 19:41:11

标签: .htaccess

我有一个页面,我正在使用PHP重定向:

header('Location:notices.php');
exit;

是否可以使用.htacess完全隐藏页面名称?因此,不是显示网址http://example.com/notices.php的浏览器,而是显示http://example.com,但实际上它确实加载了http://example.com/notices.php

我对任何其他解决方案持开放态度,因为我的目标只是显示正在加载的实际页面。

编辑:浏览器仍会加载notices.php(不是/index.php),但网址显示为/。只有URL更改,或者在这种情况下,屏蔽正在加载的文件。

2 个答案:

答案 0 :(得分:0)

notices.php:

<?php
   include('index.php');
   exit();

执行header()重定向将在浏览器中显示新的url。这是不可避免的。你告诉浏览器“去那边”,所以它顺从了。

另一个选择是使用mod_rewrite以静默方式将对/notices.php的请求重写为对/index.php的请求。

答案 1 :(得分:0)

将以下内容添加到example.com

根文件夹中的.htaccess文件中
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(.+)?\.example.com [NC]
RewriteCond %{REQUEST_URI} ^/?$
RewriteRule . notices.php [L]

如果这是你真正想要的,那么对example.com的所有请求都会显示notices.php。