「スーパーフォルダーの .htaccess ファイルにアクセスし、誤って追加しました」
Rewrite / http://google.com/
これはphpを使用して行われました。現在、どのディレクトリのphpファイルにもアクセスして変更を元に戻すことができません。
そのフォルダー内のリダイレクトを停止するために、ルートのサブディレクトリでできることはありますか?
ありがとうございました。
そして、「事故」についてこれ以上詳しく聞かないでください.. ばかげた間違い
サーバー管理者に連絡しましたが、どちらもそれを笑いました.mod_rewriteを使用すると発生しないはずですが、リダイレクトを停止する方法はまだ興味深いです。
mod_alias'Redirect
を使用すると、めちゃくちゃになります。そのディレクティブは、htaccessファイルが置かれているパスノード(htaccessファイルにある場合)、またはそれが置かれているブロックのパスノードから始めて、ボード全体に適用されます<Directory>
。したがって、唯一の解決策は管理者を取得することです削除します。
<Directory>
ただし、mod_rewrite では、htaccess ファイルでは、ブロック内と同じように動作しません。ディレクトリ内のパス ノードにある htaccess ファイル内のルールは、親ディレクトリ内の htaccess ファイル内のルールよりも優先されます。したがって、2 つの htaccess ファイルがある場合:
/.htaccess :
RewriteEngine On
RewriteRule ^/? http://google.com/
および/tmp/.htaccessで:
RewriteEngine On
RewriteRule ^/?tmp/ http://stackoverflow.com/
に移動するとhttp://yourdomain.com/tmp/
、 にリダイレクトされます。http://stackoverflow.com/
これは、tmp ディレクトリのルールが親ディレクトリのルールよりも優先されるためです。RewriteOptions Inherit
実際には、ディレクティブを使用して親ディレクトリからルールを継承しない限り、親ディレクトリのルールはまったく適用されません。
このため、次のように htaccess ファイルを簡単に作成できます。
RewriteEngine On
FTP を使用してサブディレクトリにアップロードし、親ディレクトリの htaccess ファイルを変更するために使用した php ファイルをアップロードします。次に、ブラウザを使用して、サブディレクトリ内のその php ファイルに移動します。
ルールなしでサブディレクトリの書き換えエンジンをオンにするだけで、次のことを意味します。
RerwiteRule
の 's がない) であるため、何も起こりません。直感に反するように聞こえますが、それが機能する方法です。
FTP クライアントを使用して接続します。FTP クライアントで隠しファイルを有効にします (FileZilla を試してみてください。これで可能です)。スーパーディレクトリで削除.htaccess
します。このファイルに他のデータが含まれている場合は、それをローカル コンピューターにコピーし、変更を加えて再度アップロードします。
さらにヘルプがあります: http://www.intrepid.com.au/how-to-view-htaccess-with-filezilla/