2017-01-27 3 views
0

後に末尾のURLを保存することアパッチ:私は新しいサブに私の会社のdomain.com/blogトラフィックをリダイレクトしようとしてる...サブドメインとLAMPスタックを実行しているサブディレクトリ

をサブディレクトリからサイト訪問者をリダイレクトサブドメイン(domain.com/blog/article1234がblog.domain.com/article1234に変わります)の後ろに後続のURLを残したまま、-domain(例:blog.domain.com)に移動します。

私は書き換えルールと条件を使用して、私の.htaccessファイルでいくつかのバリエーションをしようとしてきたし、これは私が成功に得ている最も近いように思わ:

RewriteRule ^blog/?$ https://blog.domain.com/ [NC,R,L] 

私も、私はこれに近づいたと思いました:

RewriteRule ^blog/(.*)$ blog.domain.com/?p=$1 [R=302,L] 

しかし、それは何らかの形でURLを壊してしまいました。私はそれが302または301なら個人的に気にしません - 私たちはこのサブドメインを無期限に保つつもりですが、私は過去に301という悪夢を抱いていました。この時点で何かに開く。

思考?前もって感謝します。あなたは通常しない限り、作品LフラグでEND旗を交換する必要があり、古いApacheサーバを使用する場合は

RewriteEngine on 
RewriteRule ^/?blog/?(.*)$ blog.domain.com/$1 [R=302,END,QSA] 

答えて

0

あなたの第二の試みは完璧に近かった、私はいくつかの小さな修正を加え矛盾するルールがあります。

一般的なヒント:.htaccessスタイルファイルを使用する代わりに、httpサーバーのホスト構成内にそのようなルールを配置することを常に推奨する必要があります。これらのファイルは悪名高いエラーが発生しやすく、デバッグが難しく、サーバーの速度が遅くなります。彼らは、あなたがホスト構成(本当に安いホスティングサービスプロバイダを読む)を持っていないか、独自の書き換えルールを書くことに頼っているアプリケーションを持っている場合にのみ、最後のオプションとして提供されます(これは明白なセキュリティの悪夢です)。

関連する問題