我有一个公告牌(基于punBB),我在根目录中运行了几年。我愚蠢地决定做一点园艺,并在此过程中将punbb代码移动到它自己的子目录中。代码效果很好;只要您将浏览器指向新的子目录即可。问题是用户希望在根目录中看到它......
我在根中尝试了一个索引文件,其中包含以下内容:
<?php chdir('punbb');
include('index.php');
但这似乎并没有成功。所以,我尝试在.htaccess中使用mod_rewrite的“该死的伏都教”,但我似乎无法找出合适的规则组合以使其有效。
以下是我想要发生的事情:
用户输入:
http://guardthe.net
浏览器显示:
http://guardthe.net/punbb/
或
http://punbb.guardthe.net/
这可能,或者我应该将代码库移回根目录吗?
答案 0 :(得分:3)
.htaccess中应该这样做:
RewriteEngine On
RewriteRule ^/?$ /punbb/ [R=301,L]
301返回代码是将移动标记为永久移动,使浏览器可以更新书签。
答案 1 :(得分:1)
具有301 HTTP永久重定向的PHP文件。
将以下内容放入guard..net根目录中的index.php
<?php
Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: http://guardthe.net/punbb/" );
?>
浏览器将以搜索引擎友好性重新定位。
答案 2 :(得分:0)
您的示例代码丢失,但这是使用mod_rewrite执行此操作的一种方法:
RewriteEngine on
RewriteRule ^$ http://guardthe.net/punbb/ [L,R=301]
答案 3 :(得分:0)
您可以编写一个小的重定向脚本来简单快速地处理这个问题。
<?php
header( 'Location: http://guardthe.net/punbb/' );
?>
将其作为根目录中index.php中的唯一内容输入,然后发送到该文件夹的任何请求都会将用户重定向到论坛。