0

私はSilverstripe cmsに基づいてサイトをセットアップし、うまく機能しています。ファイル変換を行う php スクリプト (プラグインではない) を作成しました。スクリプトをサイトのルートにアップロードし、その中に「すべてから許可」で .htaccess を作成し、ブラウザからこのスクリプトにアクセスできるように、フォルダーのアクセス許可に 777 を与えます。ただし、サイトの「ページが見つかりません」ページが代わりに表示されます。

誰かが私がここで見逃していることを説明できますか? これは htaccess ファイルのいくつかの条件です:

RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$
RewriteCond %{REQUEST_URI} ^(.*)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L]

現在のhtaccessファイルは次のとおりです。

Options +FollowSymlinks 
### SILVERSTRIPE START ### 
<IfModule mod_dir.c> DirectorySlash Off </IfModule> 
RewriteEngine On RewriteBase / RewriteRule ^index.html$ http://www.domain.com/ [R=301,L] RewriteCond %{REQUEST_URI} !(\.gif)|(\.jpg)|(\.png)|(\.css)|(\.js)|(\.php)$ 
RewriteCond %{REQUEST_URI} ^(.*)$ 
RewriteCond %{REQUEST_URI} !^/csv_compare 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule .* sapphire/main.php?url=%1&%{QUERY_STRING} [L] 
### SILVERSTRIPE END ###
4

1 に答える 1

1

Silverstripe には詳しくありませんが、ルートの htaccess がリダイレクトされているようです。ただし、allow from all/777 の安全性は少し危険です。

編集: https://github.com/silverstripe/silverstripe-in ​​staller/blob/master/.htaccess で htaccess を見る:

RewriteCond %{REQUEST_FILENAME} !-f

これは、要求が有効なファイルに対するものでない場合、フレームワークにリダイレクトするようにシステムに指示しています。ディレクトリを要求された場合、それが問題である可能性があります。上記の行の前に次を追加できます。

RewriteCond %{REQUEST_FILENAME} !-d
于 2012-10-11T23:18:42.393 に答える