2012-10-12 19 views
6

私はOJSを使用しています。これを "journals"というフォルダ内にインストールしました。私はいくつかのジャーナルを作成しています(例えば、 "journal1"、 "journal2"など)。mod-rewrite URLからフォルダ名を削除します

今、私はこのようなパスを取得しています:www.example.com/journals/index.php/journal1www.example.com/journals/index.php/journal2を、など

私が欲しいのは(URLからジャーナル一部を除去)www.example.com/index.php/journal1のようなルックスにwww.example.com/journals/index.php/journal1 をマッピングすることです。

他にもいくつかのファイルがあるため、OJSをルートに移動できません。ここで

は、ここで私が現在使用しています.htaccessファイル(それは「雑誌」フォルダと私に500を与えることにあります)

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteCond $1 !^journals 
RewriteRule ^(.*) /journals/$1 [L] 
</IfModule> 

またはerror.logに

[Fri Oct 12 22:16:45 2012] [error] [client 127.0.0.1] Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace. 
+0

あなたのドキュメントルートに 'index.php'ファイルを持っていますか? –

+0

あなたはプロジェクトのルートを意味しますか?サイトのルートですか?プロジェクトのルート - はい、サイトのルート - いいえ。 – MBanerjee

+0

私は 'http:// www.example.com/index.php'が実際に既存のリソースに解決されたかのように、site-rootを意味しました。 –

答えて

3

あなたですこれらのルールを/journalsディレクトリのhtaccessファイルに入れて、書き換えループを引き起こしています。 $1は、ジャーナルディレクトリ内にいるためジャーナルで始まることはありません。したがって、ルールは適用され続けます。

あなたのサイトルート/ディレクトリにhtaccessのファイルに次のようなものを配置する必要があります:

RewriteEngine On 
RewriteCond %{REQUEST_URI} !^/journals 
RewriteRule ^index\.php(.*)$ /journals/index.php$1 [L] 
+0

あなたは何を知っているのですか?私は十分に感謝していません。 – MBanerjee

+0

こんにちはJon-Itsはうまく動作していますが、site/journals/index.php/journal1とsite/index.php/journal1の両方にアクセスできます。サイト/ジャーナル/ index.php/journal1部分とサイト/インデックスのみを無効にする方法はありますか.php/journal1 – MBanerjee

関連する問題