タグ付けされた質問 「.htaccess」

ほとんどがApache Webサーバーにあるディレクトリレベルの設定ファイル

2
SSL終了ロードバランサーの背後にあるEC2インスタンスでのSSLリダイレクト
WebアプリケーションですべてのURLをhttpsにリダイレクトしようとしています。 エラスティックロードバランサーの背後にec2インスタンスがあります。SSLはロードバランサーで終了します。 リダイレクトを試みると、なじみのある「このページは決して完了しない方法で要求しています」という結果になります。 ロードバランサーは、443と80をインスタンスのポート80に転送します。 これが私の.htaccessにあるものです。 RewriteCond %{X-FORWARDED-PROTO} !=on RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] 誰もこれを達成する方法を知っていますか?どうもありがとう、

1
mod_rewriteのURL 257文字の最大長は?
私のURLスキームは/foo/var1-var2-var3.../barです 私はこれらのmod_rewriteルールを使用しています: RewriteBase /foo/ RewriteEngine on RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^ index.php [PT,L] 文字列「var1-var2 ...」の長さが257文字を超える場合、エラー403 Forbiddenおよび404が返されます。ただし、「var1-var2 ...」文字列の長さが257文字以下で、その後にスラッシュが続く場合、残りのURLの長さは任意の長さになります。この制限をどのように克服しますか?

5
.htaccessファイルの「ExpiresActive not allowed here」エラーメッセージを解決する方法
作業中のサイトのHTTP応答にExpiresヘッダーを追加しようとしています。Apache 1.3サーバーを制御する唯一の方法は、.htaccessファイルを編集することです。Expiresヘッダーを有効にするために、次のようなコードを追加してみました。 <IfModule mod_expires.c> ExpiresActive on ExpiresDefault "access plus 1 hour" </IfModule> ただし、これにより内部サーバーエラーが発生し、ログに次のエラーメッセージが記録されます。 ExpiresActiveはここでは許可されません mod_headersが有効になっていないため、おそらくキャッシュ制御の代替方法を使用できません。.htaccessファイルのいくつかのコマンドでmod_expiresを使用してExpiresヘッダーを有効にできる方法はありますか? 更新 httpd.confのOverride設定が何か関係があるかもしれないことをどこかで読んだことを思い出します。それが実際に問題であることを検証する方法はありますか?そうであれば、とにかく私のウェブサイトのキャッシュヘッダーを制御するための回避策はありますか?

4
.htaccessリダイレクトがhttpでは機能するが、httpsでは機能しないのはなぜですか?
単純な.htaccessファイルがあり、httpバージョンのサイトでは適切に機能しますが、httpsにアクセスすると機能しません。どうして? RewriteEngine on #This is so if the file exists then use the file RewriteCond %{REQUEST_FILENAME} -f RewriteRule ^ %{REQUEST_FILENAME} [L] #These conditions check if a file or folder exists just for reference #RewriteCond %{REQUEST_FILENAME} !-f #RewriteCond %{REQUEST_FILENAME} !-d #if someone adds ".php" to the slug get rid of it …

2
.htaccessファイルの長い行を分割する
.htaccessファイルにContent-Security-Policyヘッダーを設定しています。ヘッダーが非常に長くなり、管理が面倒です。この行をより扱いやすい部分文字列に分割する方法はありますか? 簡単な例として、ヘッダーを次のように設定するとします Header set Content-Security-Policy "deafult-src http://domainA.com; script-src http://domainB.com" 私は(明白な問題を壊すことなく)次のようなもので私の特定のケースを達成できます Header append Content-Security-Policy "default-src http://domainA.com;" Header append Content-Security-Policy "script-src http://domainB.com" しかし、それは文字列にコンマを挿入するので、応答に追加の文字を追加せずに、一般的に適用できるより良い答えがあるかどうか私はまだ興味を持っていました。 文字列を次のように小さな部分に分割するために使用できるいくつかの連結文字がある場合に理想的です Header set Content-Security-Policy "default-src http://domainA.com;" \" script-src http://domainB.com" または Header set Content-Security-Policy "default-src http://domainA.com;"^ " script-src http://domainB.com" または Header set Content-Security-Policy "default-src http://domainA.com;" +" script-src http://domainB.com" あるいは、ある種の変数を設定し、その内容をダンプして次のようなことを行うことができる場合 a="default-src …

3
サーバーエラーの前にHTTPSからHTTPにリダイレクトする方法
SSL証明書を使用してWebサイトを運用していたが、SSL証明書の使用を中止した。問題は、Webサイトへのほとんどの外部リンクがhttps://プレフィックスを使用していることです。 .htaccessファイルでhttps://からhttp://へのリダイレクトを試しました: RewriteEngine On RewriteCond %{HTTPS} on RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} しかし、他の場所で指摘されているように、サーバーはリダイレクトをアクティブにする前に証明書を取得しようとしているようです。したがって、リダイレクトが完了する前にエラーが表示されます。このエラーは、証明書の有効期限が切れているという警告、または証明書署名要求を削除した場合に、SSLが最大許容長を超えるレコードを受信したというエラーのいずれかです。 着信リンクが適切にリダイレクトされるようにする方法はありますか?

2
.htaccessでphp_valueとphp_flagの使用を許可
モジュールとしてPHP5を使用してApache Webサーバーを実行しています(注意:CGIではなくApacheモジュールとして!)。 私の.htaccessファイル(gallery3ソフトウェアが付属しています1の一部ではhttp://gallery.menalto.com/)、はphp_valueとのphp_flagの文があります。 そのフォルダー内のファイルにアクセスしようとすると、500サーバーエラーが発生します。そこで、apache2.confを編集して、次の行を追加しました。 <Directory /my/gallery/folder> AllowOverride All </Directory> 私は何か間違ったことをしましたか?オーバーライドを許可し、ApacheモジュールとしてPHPを実行します。なぜerror.logが教えてくれるのphp_value not allowed hereですか?


1
HSTSと二重リダイレクト
私は共有ホスティングLAMP環境で小さなWebサイトを管理しています。これは、基本的に編集できるのはhtaccessファイルだけであることを意味します。 HSTSサポートを追加したかった(そして私はそれを行いました)が、HSTSプリロードの適格性についてここで自分のWebサイトをテストすると、次のエラーが発生しました。 エラー:HTTPは最初にwwwにリダイレクトします http://example(HTTP)はhttps://example、wwwサブドメインを追加する前に、すぐに(HTTPS)にリダイレクトする必要があります。現在、最初のリダイレクトは次のhttps://www.example.とおりです。HSTSをサポートするブラウザがサブドメインだけでなく、トップレベルドメインのHSTSエントリを確実に記録するには、追加のリダイレクトが必要です。 したがって、ユーザーを次のようにリダイレクトする必要があると思います。 http://example (これは、ユーザーがブラウザのアドレスバーに入力するものです) https://example (私たちは彼をウェブサイトのHTTPSバージョンにリダイレクトします) https://www.example (私たちは再び彼をサブドメインwwwにリダイレクトします) 私の現在のリダイレクトはこのように行われます: RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://www.example.com/$1 [R,L] 次のように、最後の行の前にリダイレクトを追加しようとしました: RewriteRule ^(.*)$ https://example.com/$1 [R,L] ブラウザから「ページが正しくリダイレ​​クトされていません」というエラーが表示されました。 では、ユーザーをウェブサイトのhttpバージョンからhttpsにリダイレクトし、最後にwwwを使用してhttpsにリダイレクトする適切な方法は何でしょうか。そして:リスクはありますか?

1
ApacheのLimitRequestFieldSizeの値を増やします
私はjQueryプラグインを使用するアプリケーションを開発しました。このプラグインは、過剰なCookieデータを使用します。問題は、15〜20リクエストごとに、ブラウザに次のエラーメッセージが表示されることです。 お使いのブラウザが、このサーバーが理解できないリクエストを送信しました。リクエストヘッダーフィールドのサイズがサーバーの制限を超えています。 調べてみると、デフォルトでapacheにcookieの長さのデフォルト値があることがわかりました。どこかで8190 bytes。制限を増やすには、以下のディレクティブを構成に変更/追加する必要があります。 LimitRequestFieldSize 16380 上記のコードをに追加.htaccessして、Apacheサーバーも再起動しましたが、機能しませんでした。 この行をどこに配置するか混乱しています。それがであるhttpd.confファイル?または、.htaccessファイルを使用して制限を増やす方法はありますか?誰かが私を正しい方向に向けてくれれば幸いです。 ところで、私はOSX 10.7.4でMAMPを使用しています。

3
WordPressのインストールをhtaccessで隠す方法は?
(私はあいまいさによるセキュリティは推奨されないことを知っています)。 私はワードプレスを使用しているという事実を隠そうとしています。この投稿は役に立ちますが、コンテンツ(の一種)のみを扱います。私は次のことを行うことに興味があります。 ユーザーwp*がブラウザを介して部分文字列として任意のURLにアクセスしようとします。 結果: 404ページにリダイレクトされます。 ブログのユーザー/管理者は、ログインするためにアクセスする必要があることを知っていますhttp://example.com/blogin/。 結果: Apacheはそれらをにリダイレクトしますhttp://example.com/wp-admin/。 ユーザーwp-adminがブラウザから直接アクセスしようとすると、#1に送信されます。 結果: 404ページにリダイレクトされます。 これまでに行ったこと WordPressのデフォルトインストールでwp*は、WPインストールの(相対)ルートディレクトリにあるファイルにアクセスできることに気付きました。wp-settings.phpそれは私のセットアップについての情報を提供していたので、特に問題がありました。ユーザーがアクセスすると、PHPエラーが発生し、ディレクトリ構造の一部が明らかになります。php.iniファイルを編集してdisplay_errorsオフにしました。アクセスhttp://example.com/wp-settngs.phpすると、空白のページが表示されます。 それ自体がwp-settings.php存在することが明らかになるため、これ自体は理想的ではありません。実際、さまざまなwp*ファイルすべてにアクセスできます(結果はさまざまです)。次に、htaccessファイルに以下を記述します。 RewriteEngine On RewriteBase / RewriteCond %{PATH_INFO} wp* [NC] RewriteRule .* - [F] これはうまくいきました!を含むものwp*はすべて私のカスタム404ページにルーティングされました。しかし、今は自分の管理ページにアクセスできません。 この行を上のコードに挿入しようとしました:RewriteRule ^blogin wp-admin [NC,R,L]。それは直後だったはずですRewriteBaseが、これはうまくいきませんでした。 私はしようとしました: <Directory /home/example/wp*> Order Allow, Deny Allow from example.com Deny from all </Directory> (ルールの書き換えを介して)私のサイトからのリファラーがwp-adminにアクセスできるが、外部の誰かにはアクセスできないことを願っています。これも機能しませんでした。Apacheは、htaccessからこのディレクティブを使用できないと不平を言いました。 私はApacheのドキュメントを読みました。理論的には概念を理解していますが、実際的な助けが必要です。 編集:私の特定のセットアップではhttpd.confの使用に一貫性がないため、httpd.confの代わりに.htaccessを使用するソリューションを探しています。

11
.htaccessがwwwで始まるページに適切にリダイレクトしない
wwwなしでURLをリダイレクトしようとしています。www.version(example.comからwww.example.com)。いつも使う RewriteCond %{HTTP_HOST} ^example\.com [nc] RewriteRule (.*) http://www.example.com/$1 [R=301,L] これは他のすべてのプロジェクトで機能します。ただし、この特定のサイトでは、リダイレクトループで終わります。ここで奇妙な部分があります:私はそれを使用してどのヘッダーを送信するかを確認するために非wwwバージョンをカールしようとしました curl --get http://example.com --dump-header domain.header > domain.html。ヘッダーファイルは次のようになります。 HTTP/1.1 301 Moved Permanently Date: Mon, 06 Jun 2011 14:45:16 GMT Server: Apache/2.2.16 (Debian) Location: http://example.com/ Vary: Accept-Encoding Content-Length: 310 Content-Type: text/html; charset=iso-8859-1 ただし、結果のHTMLファイルは次のとおりです。 <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>301 Moved …

3
アップロードファイルのサイズを制限し、制限を超えた場合にユーザーをエラーページにリダイレクトする
ユーザーをファイルfile too bigページにリダイレクトできますか POSTリクエストのサイズが指定された制限を超えた場合 max-request-sizeオプションについては知っていますが、オーバーロードできない静的なページのみを提供します。 私は取る書き換えルールを作成しようと考えています 入力としてのリクエストボディからのコンテンツサイズとエラーページへのリダイレクト 更新 今、私たちはフロントエンドとしてnginxを使用しています。新しい提案はありますか?

4
htaccessに配置されるルールの順序は重要ですか?
これが単純な「はい」または「いいえ」の答えであることを願っています(理由を明記してください) Q1:ルールがhtaccessに配置される順序は重要ですか? それらは完全に分離されたアイテムなので、例えば Q2:はいの場合、正しい注文を適用していますか? htaccesエンジンを高速化し、不必要なルールで過負荷にしないために? Q3:ここで無効にする/追加するためのヒントは、大歓迎です+1! # DirectoryIndex index.php /index.php AddDefaultCharset UTF-8 RewriteEngine on # Options All # Options +FollowSymLinks # Options +FollowSymLinks -Indexes -ExecCGI # RewriteBase / ##################################################### <IfModule mod_headers.c> ExpiresActive On ExpiresDefault M172800 Header unset ETag FileETag None Header unset Pragma ##### STATIC FILES <FilesMatch "\\.(ico|jpg|png|gif|svg|swf|css|js|fon|ttf|eot|xml|pdf|flv)$"> ExpiresDefault M1209600 …

1
RewriteLogが機能しないのはなぜですか?
私は次のような.htaccessを持っています: RewriteEngine on RewriteLog "/Applications/MAMP/logs/rewrite_engine_log" RewriteCond %{REQUEST_URI} !/(index.php|css|images|js)/.*$ RewriteRule (.*) /mysite/index.php/$1 そのRewriteLogディレクティブを追加すると、内部サーバーエラーが発生します。 Apacheログファイルで次の情報を取得します。 /Applications/MAMP/htdocs/mysite/.htaccess: RewriteLog not allowed here そのrewrite_engine_logファイルを手動で作成しませんでしたが、そのパス/ Applications / MAMP / logs /は私のMacに存在します。RewriteEngineログファイルを取得するために次に何を試すことができますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.