1つのドメインで2番目のドメインにリダイレクトするためにサブフォルダーが必要な状況があるため、 http://domain1.com/domain2/ は http://にリダイレクトしますdomain2.com 。
Domain1.comのルートフォルダーをそのままにしておく必要があります。サブフォルダーだけがリダイレクトする必要があります。
クロスドメインセキュリティに違反することなく、ドメイン2のPHPおよびフォントファイルにアクセスする必要があるため、このようにする必要があります。 DNSを使用してこれを行う方法はありますか?
サブドメインを使用してこれを行う手順のみを見つけましたが、クロスドメインPHPアクセスでは機能しないと考えています。
これは間違いなくDNSではできません。
解決したい本当の質問は "クロスドメインPHPとフォントをどのように許可しますか?"
クロスドメインPHPおよびフォントファイル(おそらくこれで十分です)を有効にするには、「Access-Control-Allow-Origin」ヘッダーをdomain2の構成に追加します。
Apache:
Header add Access-Control-Allow-Origin "http://domain1.com"
Nginx:
add_header Access-Control-Allow-Origin "http://domain1.com";
このようにすると、http:/ domain1/domain2をまったく必要としないので、紛らわしいので削除してください。
実際に恒久的にdomain1/subfolder> domain2をリダイレクトしたい場合は、このようにdomain1の構成を変更するだけです。
Apache:
Redirect 301 /subfolder http://domain2.com
Nginx:
location /subfolder {
return 301 http://domain2.com;
}
両方の答えのセットでは、Nginxディレクティブはサーバーの{...}ブロック内にある必要があり、Apacheルールはvirtualhost configまたは.htaccessに移動できることに注意してください(可能であれば、.htaccessをスキップしてください、パフォーマンス上の理由からconfig/virtualhostにすべてを配置してください)。 Apacheのルールはmod_rewriteとmod_headersに依存しており、有効にする必要があります。
これはDNS経由ではできません。 Webサーバーレベル(.htacess Apache /書き換えルールIIS)で行うか、ASP.net、PHP、Perlなどを実行するスクリプトを介して行う必要があります。基本的に、応答ヘッダーを移動に変更する必要があり、dnsはできませんそれを行う。
これは、サブドメインではなく、サブドメインでDNSからのみ実行できます。サブフォルダーの場合、プロキシパスを実行する必要があります。Apache(バージョン2.4以降)での方法は次のとおりです。
ProxyRequests Off
ProxyPass /subfolder/ http://otherdomain.com/
ProxyPassReverse /subfolder/ http://otherdomain.com/
<Location /subfolder/>
ProxyHTMLEnable On
ProxyHTMLURLMap / /subfolder/
</Location>
2番目のホストがポート8080でコンテンツを提供する場合は、http://otherdomain.com:8080
も使用します。また、これを機能させるには、Apacheサーバーでmod_proxy
およびmod_proxy_html
を有効にする必要があります。 mod_proxy_html
モジュールは、静的リソース(画像、CSS、JavaScriptなど)へのリンクを書き換えるために使用されるため、otherdomain.comからの応答に相対リンクがある場合、それらは適切にロードされます。
mod_proxy_html
を持たない古いバージョンでは、mod_substitute
といくつかの正規表現マジックを使用して同じ結果を得ることができます。