5

私は mod_rewrite の例を数時間読んでいるさまざまなサイトを見ていて、成功する前に何度もそれを使用しました...しかし、私は今それで何か新しいことを試みていて、私の人生でそれを機能させることはできません!

という名前の PHP ファイル マネージャー ツールを使用しています。AjaXplorerこれは、サーバーのルートのサブディレクトリにあります/ajaxplorer-core-4.0.4。サイトのルートに移動すると、http://domain.com/目に見えないように/ajaxplorer-core-4.0.4フォルダーにリダイレクトされます (ただし、アドレス バーにはルート ドメインが表示されます)。

パスを入力するだけで、通常どおりルート上の他のファイル/ディレクトリにアクセスできるようにしたいと考えています。

これは可能だと思いますか?比較的単純に思えますが、私はそれを機能させることができません。

AjaXplorer は から js ファイルや画像などをロードするよう/ajaxplorer-core-4.0.4/pluginsです。

どんなポインタでも大歓迎です!ありがとう

4

2 に答える 2

10

幸運にも別の答えでそれを見つけました:)

RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www.)?site.com$ 
RewriteCond %{REQUEST_URI} !^/subdir/ 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ /subdir/$1 
RewriteCond %{HTTP_HOST} ^(www.)?site.com$ 
RewriteRule ^(/)?$ subdir/index.php [L]
于 2012-06-09T19:03:52.383 に答える
0

それでも十分でない場合:

2 つのヒント:

ホストされた環境にいない場合(=自分のサーバーであり、ファイルだけでなく仮想ホストを変更できる場合)、ディレクティブを使用してみてください: このような問題を追跡するのに役立ちます:.htaccessRewriteLog

# Trace:
# (!) file gets big quickly, remove in prod environments:
RewriteLog "/web/logs/mywebsite.rewrite.log"
RewriteLogLevel 9
RewriteEngine On

正規表現をチェックするための私のお気に入りのツール:

http://www.quanetic.com/Regex (preg(PCRE) の代わりに ereg(POSIX) を選択することを忘れないでください!)

于 2012-06-08T19:45:08.207 に答える