Php 从url隐藏主页和索引页名称

Php 从url隐藏主页和索引页名称,php,apache,.htaccess,url,url-rewriting,Php,Apache,.htaccess,Url,Url Rewriting,我有一个网站,比如www.example.com(不是实际名称)。 在这个网站上我有 index.php(登录前网站的第一页)和home.php(第一页) 登录后的网站页面) 与我的DirectoryIndex.php(in.htaccess)一样,index.php不会出现在地址栏中。但当登录时,它会显示home.php作为链接的一部分 我不想在url中显示“home.php”。我想在.htaccess中使用一些url重写规则,但我被卡住了 有什么简单的解决办法吗 如果需要任何其他系统/服务器

我有一个网站,比如www.example.com(不是实际名称)。 在这个网站上我有

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

与我的DirectoryIndex.php(in.htaccess)一样,index.php不会出现在地址栏中。但当登录时,它会显示home.php作为链接的一部分

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

有什么简单的解决办法吗

如果需要任何其他系统/服务器相关信息,请告诉我

//编辑
我是从facebook.com上得到这个主意的

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

通过简单的重定向,您可以将home.php重命名为听起来更好的名称,如
/home

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

这将在浏览yoursite.com/home时显示home.php页面。显然,这将是可访问的,即使没有登录,但因为你似乎暗示你不打算显示链接,如果没有登录

如您所述,使用Web服务器重定向只是一种解决方法

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

因此,您只有两个选择:

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

很难说什么是最好的选择。但是您的URI设置(目录索引)比php文件名更有可能更改。因此,我会选择Web服务器配置–一个到
/

最简单的方法,imho,是使用单个登录页
index.php
,其中应该包括
public.php
private.php
home.php
)取决于注销/登录状态。

在index.php页面上尝试此操作

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

imho,最简单的方法是使用单个登录页index.php,它应该包括public.php或private.php(在您的情况下是home.php),这取决于注销/登录状态。我看到了所有答案,但@Stan-ur解决方案正是我想要的。:)