2012-09-15 45 views
1

我有一个网站,说www.example.com(不是真正的名称)。 在这个网站我有从网址隐藏首页和索引页名称

的index.php和home.php(第一 页网站登录后)

由于我的DirectoryIndex index.php文件(登录之前网站的第一页)(以.htaccess),index.php不会出现在地址栏中。但是,当登录时,它显示home.php作为链接的一部分。

不要想要在url显示“home.php”。我正在考虑在.htaccess中使用一些url重写规则,但我被卡住了。

有没有简单的解决方案呢?

请让我知道如果你们需要任何其他系统/服务器相关的信息,如果需要的话。

//编辑 我从facebook.com得到了这个想法。

+1

最简单的方法,恕我直言,是有单登陆页面index.php,它应该包括public.php或private.php(你的情况下为home.php),取决于登出/登录状态。 – Stan

+0

我看到了所有的答案,但@Stan你的解决方案正是我想要的。 :) – Abhishek

+0

请确定...... :) – Abhishek

回答

1

最简单的方法,恕我直言,是有根据的注销/登录状态下的着陆页上index.php,其中应包括(在你的情况home.phppublic.phpprivate.php

2

做这种事情的一种方法是在你的PHP脚本中使用某种控制器。检查脚本的开始部分,看看是否已登录并根据答案,需要相应的代码。你不需要.htaccess这样的事情!

您可以随时使用简单的重定向将您的home.php重命名为更好听起来像/home

RewriteRule ^home/?$ home.php [NC,L] 

这会在浏览到yoursite.com/home时显示home.php页面。很明显,即使没有登录,这也是可以访问的,但是你似乎暗示你没有计划在没有登录的情况下显示链接!

0

正如您所提到的,使用网络服务器重定向只会是一种解决方法。

你的问题是PHP脚本本身。它当然不知道你的URI设置和DirectoryIndex文件,因此使用home.php作为URL目标。

所以,你有两种选择:

  • 使Web服务器重定向/home.php/
  • 调整你的PHP脚本,指向home.php
  • 调整你的PHP脚本时加载home.php检查,如果URI是/home.php,然后重定向到/

很难说最好的选择是什么。但是你的URI设置(目录索引)比你的php文件名更有可能改变。因此,我会去网络服务器配置 - 303 redirect/

0

试试这个index.php页面上

<?php require('home.php');? 

其中home.php是该URL的主页(当然没有的qoute)