如何使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返回码用于将移动标记为永久移动,从而使浏览器可以更新书签。