Php 从url隐藏主页和索引页名称
我有一个网站,比如www.example.com(不是实际名称)。 在这个网站上我有 index.php(登录前网站的第一页)和home.php(第一页) 登录后的网站页面) 与我的DirectoryIndex.php(in.htaccess)一样,index.php不会出现在地址栏中。但当登录时,它会显示home.php作为链接的一部分 我不想在url中显示“home.php”。我想在.htaccess中使用一些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重写规则,但我被卡住了 有什么简单的解决办法吗 如果需要任何其他系统/服务器
我是从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脚本以检查何时加载
,如果URI是home.PHP
,然后重定向到/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解决方案正是我想要的。:)