0

私は数年間、ルート ディレクトリを使い果たしていました (punBB ベースの) 掲示板を持っています。私はばかげて少しガーデニングをすることに決め、その過程で punbb コードを独自のサブディレクトリに移動しました。コードはうまく機能します。ブラウザで新しいサブディレクトリを指定している限り。問題は、ユーザーがルートでそれを見ることを期待していることです...

次のようなルートでインデックスファイルを試しました:

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

しかし、それはうまくいかなかったようです。それで、.htaccess で mod_rewrite の「いまいましいクールなブードゥー」を使用しようとしましたが、それを機能させるためのルールの正しい組み合わせを理解できないようです。

これが私が実現したいことです:

ユーザーは次のように入力します。

 http://guardthe.net

ブラウザの表示:

 http://guardthe.net/punbb/ 

また

 http://punbb.guardthe.net/

これは可能ですか、それともコード ベースをルートに戻すだけですか?

4

4 に答える 4

3

.htacces の次のようなものでそれを行う必要があります。

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

301 リターン コードは、移動を永続的なものとしてマークし、ブラウザがブックマークを更新できるようにするためのものです。

于 2008-09-16T18:06:53.153 に答える
1

301 HTTP パーマネント リダイレクトを含む PHP ファイル。

以下をguardthe.netのルートディレクトリにあるindex.phpに入れます

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

ブラウザは、検索エンジンに適した状態でリダイレクトされます。

于 2008-09-16T18:02:02.027 に答える
0

これを簡単かつ迅速に処理するために、小さなリダイレクト スクリプトを作成できます。

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

ルート ディレクトリにある index.php の唯一のコンテンツとしてそれを入力すると、そのフォルダに送信されたリクエストはユーザーをフォーラムにリダイレクトします。

于 2008-09-16T18:04:56.637 に答える
0

サンプルコードがありませんが、mod_rewrite を使用してそれを行う 1 つの方法を次に示します。

RewriteEngine on
RewriteRule ^$ http://guardthe.net/punbb/ [L,R=301]
于 2008-09-16T18:02:17.453 に答える