2016-04-15 6 views
0

特定のサブディレクトリへのすべてのアクセスをリダイレクトする.htaccessがあります。.htaccess:サブディレクトリへのアクセスをリダイレクトしますが、アクセス許可のルートファイルはありません

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteRule ^(.*)$ /public/$1 [L] 
</IfModule> 

そしてそれは私のディレクトリ構造です:

/public/index.php 
/test.php 
/.htaccess 

私はhttp://domain.com/にアクセスする場合、それは/public/index.phpにすべてを送ることにより、正常に動作します。しかし、http://domain.com/test.phpにアクセスすると、test.phpが実行されます。しかし、私はルートファイルへのアクセスを避ける必要があります。

このスクリプトには別の問題があります。存在しないファイルを呼び出す場合は、/publicにコマンドを送信し、それ自体の404エラー(index.php構造で定義されています)にルーティングすると、500エラーが表示されます。

RewriteEngine On 

RewriteCond %{REQUEST_URI} !\.(?:jpe?g|gif|bmp|png|tiff|css|js)$ [NC] 
RewriteRule !^public/index\.php$ public/index.php [L] 

答えて

0

は、この単純なルールを試してみてください
関連する問題