"http://blog.test.com/"のリンクを "http://www.test.com/blog/"に変更したいと思います。.htaccessのRewriteRule
私はRewriteRule ^blog.test.com?$ test.com/blog [NC,R=301,L]
は私が何かを見逃していましたか?私の.htaccessに次のコードを試してみた
おかげ
"http://blog.test.com/"のリンクを "http://www.test.com/blog/"に変更したいと思います。.htaccessのRewriteRule
私はRewriteRule ^blog.test.com?$ test.com/blog [NC,R=301,L]
は私が何かを見逃していましたか?私の.htaccessに次のコードを試してみた
おかげ
Apacheを使用している場合は、あなたがするRewriteCond内のURL(例えばblog.test.com)のホスト部分と一致する必要があります:すべての
RewriteCond %{HTTP_HOST} ^blog.test.com$ [NC]
RewriteRule ^(.*)$ http://www.test.com/blog/$1 [R=301,L]
最初に、あなたはhttp://blog.test.com/whatever_or_empty
へを交換する必要がありますhttp://www.test.com/blog/whatever_or_empty
あなたのHTMLのhrefで。
blog.test.com
サブドメインは別のURLですが、つまり、RewriteRuleが別のURLに書き直すと外部リダイレクトが発生します。これはブラウザに反映されます。一時的にredirect(302(the default))
またはpermanent redirect(301)
としてください。
したがって、URLを書き換えてリンクhttp://blog.test.com/
をhttp://www.test.com/blog/
に変更すると、役に立たなくなります。
でも、Apache Module mod_proxyを使用してこれを達成できます。
Apacheのプロキシモジュールは、これらがあります
- はmod_proxyの:プロキシインフラストラクチャと設定とプロキシ要求を管理するとともに、コアモジュールを扱っています。
- mod_proxy_http:これは、HTTPとHTTPSを使用してドキュメントを取得することを処理します。
- mod_proxy_ftp:FTPを使用してドキュメントを取得します。
- mod_proxy_connect:これは、セキュア(SSL)トンネリングのCONNECTメソッドを処理します。
- mod_proxy_ajp:これは、Tomcatなどのバックエンドサーバー用のAJPプロトコルを処理します。
- mod_proxy_balancerは、複数のバックエンドにわたってクラスタリングとロードバランシングを実装します。
- mod_cache、mod_disk_cache、mod_mem_cache:これらはドキュメントキャッシュを管理します。キャッシュを有効にするには、mod_cacheとdisk_cacheとmem_cacheの一方または両方が必要です。
- mod_proxy_html:これは、HTMLリンクをプロキシのアドレス空間に書き換えます。
- mod_xml2enc:これは、mod_proxy_htmlと他のマークアップフィルタリングモジュールに代わって国際化(i18n)をサポートします。スペース。
- mod_headers:これはHTTP要求と応答ヘッダーを変更します。
- mod_deflate:クライアントとバックエンドによる圧縮を交渉します。
プロキシが機能するために有効で、少なくともmod_proxy
とmod_proxy_http
モジュールを必要とする:
あなたがApacheのconf
ファイルにこれらのような行を持つ必要があります
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_module modules/mod_proxy.so
これをご使用くださいVirtualhost
http://www.test.com
の
ProxyPass /blog http://blog.test.com
ProxyPassReverse /blog http://blog.test.com
ProxyRequests On
ProxyVia On
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
定義:
- ProxyPass Apache Docs。
- ProxyPassReverse Apache Docs。
- ProxyRequests Apache Docs。
- Proxyvia Apache Docs。
mod_cache
:またmod_cache
でキャッシュを使用することができます
。
キャッシングの詳細については、mod_cache Apache Docsを参照してください。
申し訳ありません...これは機能していません – Natasha
「申し訳ありません...これは機能していません」:ここにコメントの種類がたくさんあります。あなたが本当に良い答えを得たいのであれば、うまくいかないことの良い説明を提供してください。例:どのURIがうまくいかないかを知る必要があります。また、あなたのaccess.logとerror.logを見て、ここにマッチする行を投稿することもできます。 – anubhava
今それはblog.test.comを示します。それはtest.com/blogにリダイレクトされません – Natasha