如何使Web应用程序出现在网站的根目录?

时间:2020-03-05 18:56:41  来源:igfitidea点击:

我有一个公告板(基于punBB),已经用完了几年了。我愚蠢地决定做些园艺工作,然后将punbb代码移到​​它自己的子目录中。该代码很好用;只要我们将浏览器指向新的子目录。问题是用户希望从根本上看到它。

我在根目录中尝试了具有以下内容的索引文件:

<?php chdir('punbb');
include('index.php');

但这似乎并不能解决问题。因此,我尝试在.htaccess中使用mod_rewrite的"该死的伏都教",但我似乎无法找出正确的规则组合来使其正常工作。

这是我想实现的目标:

用户输入:

http://guardthe.net

浏览器显示:

http://guardthe.net/punbb/

或者

http://punbb.guardthe.net/

这是可能的,还是应该只将代码库移回根目录?

解决方案

回答

一个具有301 HTTP永久重定向的PHP文件。

将以下内容放入guardthe.net的根目录中的index.php中

<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://guardthe.net/punbb/" );
?>

浏览器将以搜索引擎友好性进行重定向。

回答

示例代码丢失了,但这是使用mod_rewrite的一种方法:

RewriteEngine on
RewriteRule ^$ http://guardthe.net/punbb/ [L,R=301]

回答

我们可以编写一个小的重定向脚本来简单快速地处理此问题。

<?php 
header( 'Location: http://guardthe.net/punbb/' ); 
?>

在根目录的index.php中输入该内容作为唯一内容,然后发送到该文件夹​​的所有请求将把用户重定向到论坛。

回答

.htacces中的类似内容应该做到这一点:

RewriteEngine On
    RewriteRule ^/?$ /punbb/ [R=301,L]

301返回码用于将移动标记为永久移动,从而使浏览器可以更新书签。