2011-07-23 1 views
0

私はPHPスクリプトアクセスをブロックしているhtaccessに問題があります。.htaccessはサイトへのアクセスをブロックします

これは私がページをロードするとき、私はエラーメッセージです:

あなたがこのサーバー上/index.phpにアクセスする権限がありません。

私が.htaccessファイルを削除すると、問題なしでindex.phpにアクセスできます。

同じ.htaccessファイルが、私が使用している別のホスティングで正常に動作していました。

私の.htaccessファイル(EDIT:toopayで提案した後、再配置)が

RewriteEngine On 
<Files .*> 
Order allow,deny 
    Allow from all 
</Files> 
Options FollowSymLinks 
RewriteRule ^photos.+$ thumbs.php [L,QSA] 

RewriteRule ^[a-zA-Z0-9\-_]*$ index.php [L,QSA] 
RewriteRule ^[a-zA-Z0-9\-_]+\.html$ index.php [L,QSA] 

私は644、755、777、まだ任意の設定で動作していないにファイルpriviledgesを設定しようとしました。

私は何か間違っているのを見てください。これは初めて起こっているもので、同じ.htaccessファイルが同じホスティングの別のドメイン(フォルダ)上で正常に動作しています。

+0

書き換えエンジンのロギングをオンにして出力を調べます。 –

+0

最後の2つの再書き込みで無限ループを作成できませんでしたか?ちょっとした考え。 – TMS

+0

@Tomasそれは無限ループを生成していません:2番目の最後の行は、(。)最後の行は、イメージのectではなく、.htmlファイルのみを解析しています。 (この最後の行は、サイトが以前は静的なhtmlだったためにのみ必要です。>この方法では、訪問者を失わない:PHPはその後適切にリダイレクトされます) – Czakalli

答えて

0

私は解決策を見つけることができた、問題は本当にシンプルだった、私はFollowSymLinksの前に+が欠けていた。簡単な問題は、ソリューションを見つけるのに無駄な時間がほとんどありません。最も奇妙な部分は、同じホスティングで、別のドメイン/フォルダで、+なしで同じように動作しているということです...あなたのお手伝いをどうもありがとうございます。

これが私の最後の作業コードです:

RewriteEngine On 
Options +FollowSymLinks 
RewriteRule ^photos.+$ thumbs.php [L,QSA] 

RewriteRule ^[a-zA-Z0-9\-_]*$ index.php [L,QSA] 
RewriteRule ^[a-zA-Z0-9\-_]+\.html$ index.php [L,QSA] 
-1

あなたのhtaccessのため、

RewriteEngine On 
<Files .*> 
Order allow,deny 
    Allow from all 
</Files> 
Options FollowSymLinks 
RewriteRule ^photos.+$ thumbs.php [L,QSA] 

RewriteRule ^[a-zA-Z0-9\-_]*$ index.php [L,QSA] 
RewriteRule ^[a-zA-Z0-9\-_]+\.html$ index.php [L,QSA] 
+0

ありがとう@toopay、同じエラー。 – Czakalli

+0

-1:あなたの 'RewriteEngine On'があなたの' RewriteRule'の前に来る限り、どこでもかまいません。他のディレクティブには影響しません。 –

1

<Files .*>に問題があることができませんでした...すべきですか?これはワイルドカードのパターンだと思うので、ちょうど<Files *>を使うべきです。

+0

これは問題ではありませんでした。私は実際にはそれを必要としませんでした。ファイルをブロックしていたhtaccesではないことを確認するためにのみ置いてください。 – Czakalli

関連する問題