問題タブ [mod-vhost-alias]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache - mod_vhost_alias のフォールスルー リライトの使用
テスト VPS で数十のサイトを実行していますが、現在 mod_vhost_alias を使用して、新しいサイトを立ち上げるたびに新しい VirtualHost が必要になるのを回避しています。私の現在の構成は次のようになります。
私の /var/www ディレクトリ内には、各サイトに独自のディレクトリがあります。たとえば、私の個人ページへのパスは /var/www/personalsite.com/public_html/index.php です。これは、 http://personalsite.comへのリクエストに対してうまく機能しています。
ただし、これは、http: //www.personalsite.comに対する要求が入った場合には機能しません。私の他のサイトのいくつかでは、逆の問題があります。ディレクトリが /var/www/www.sitename.com/public_html である可能性があるため、http: //www.sitename.com の要求は問題ありません。ただし、http://sitename.comへのリクエストは機能しません。
リクエストが来たときに次のことを行うようにApache構成を設定する方法はありますか? この方法で行うことのパフォーマンスへの影響はありますか?
擬似コード:
現在、約 20 の仮想ホストでこれを行っていますが、サイトごとに新しい仮想ホストを追加する必要がある場合、それはばかげているように思えます。mod_vhost_alias を使用するポイントは、そもそもこれらすべての VirtualHosts を必要としないようにすることでした。
apache - Apache 2.4 による大量仮想ホスティング
VirtualDocumentRoot
で設定した値を使用したいと思いますRewriteRule
。
Apacheのドキュメントには次のように書かれています:
もう 1 つ決定する必要があるのは、ドキュメント ルートです (DocumentRoot で構成され、DOCUMENT_ROOT 環境変数を介して CGI スクリプトで使用できます)。通常の構成では、これは URI をファイル名にマッピングするときにコア モジュールによって使用されますが、サーバーが動的仮想ホスティングを行うように構成されている場合、そのジョブは別のモジュール (mod_vhost_alias または mod_rewrite) によって引き継がれる必要があります。マッピングの方法。これらのモジュールはどちらも DOCUMENT_ROOT 環境変数の設定を担当していないため、CGI または SSI ドキュメントがそれを使用すると、誤解を招く値が取得されます。
ドキュメントを参照すると、 では使用できないよう%{DOCUMENT_ROOT}
ですRewriteRule
。しかし、別の解決策を探したところ、「2.4.1 で修正済み」というこのチケット(タイトル: DOCUMENT_ROOT 環境変数が VirtualDocumentRoot で正しく設定されていない) を見つけました。
Apache の最新 (安定) バージョンを使用しています。
...しかし、それは私にはうまくいかないようです。テスト時に%{DOCUMENT_ROOT}
は、httpd.conf の DocumentRoot によって設定されたデフォルト値があります。%{DOCUMENT_ROOT}
(または使用できる他の変数)を動的に設定したいと思いVirtualDocumentRoot
ます。
httpd-vhosts.confで使用したいものは次のとおりです。
解決策はありますか?
apache - Apacheのディレクトリ補間に相当するNGINXはありますか
Apache の mod_vhost_alias を使用すると、Directory Interpolation を使用して、ディレクトリ構造に基づいてサイトを提供できます。ここを参照してください http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html#interpol
これはNGINXで可能ですか? もしそうならどのように?
php - PHP-FPM + mod_vhost_alias
vhost_alias は proxypassmatch なしで正常に動作し、fpm は排他的な vhost で正常に動作します。vhost_alias から % を使用することは可能ですか?
apache - 非www。ドメインが www にリダイレクトされません。ドメイン
手短に
WORKS FINE: www.exampledomain.co.uk{/with-any-url}
GIVES 404 ERROR: exampledomain.co.uk{/with-any-url}
詳細に
linux/apache2 で実行されているサイトで「www.」という問題が発生しています。URL は正常に機能していますが、「www.」削除すると、すべての URL に対して 404 が返されます。ドメインは dnsstuff.com チェックでエラーを示さず、www と通常のドメインは同じ IP アドレスを指しています。
cmd を使用してドメインと www. どちらも同じ IP に解決され、応答します。
このコードを Web ルートの .htaccess ファイルに実装しました。非 www リクエストに:
ただし、これも機能しません。正確な書き換えルールがテストされ、別のサイトで機能して「www.」を強制します。接頭辞を付けます。
これは、使用中の vhosts conf ファイルです。
サーバー名とエイリアスは、ここに示されているものとは逆の順序で定義されており (変更の間に apache が再起動されます)、「永続的なリダイレクト」の 2 番目の vhosts エントリが後で追加されましたが、すべて効果がありません。
この動作の原因は何ですか? 他に確認すべきことはありますか?解決策を見つけるために非常に多くの資料を検索しましたが、問題や欠落は見られません。どんな助けでも大歓迎です!