ドメインからサブディレクトリへの高度な.htaccessmod_rewrite

エイダンハモンド

同様の問題を抱えているスレッドをいくつか見つけましたが、自分のサイトの要件を満たすために回答を変更することができませんでした。私はプライマリドメインを持っており、wwwドメインを非wwwドメインにリダイレクトするためのルールを書き直し、次のようにマッピングします。

primarydoamin.uk => primarydomain.uk
www.primarydomain.uk => primarydomain.uk

RewriteCond %{HTTP_HOST} ^primarydomain.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.primarydomain.com$ [OR] 
RewriteCond %{HTTP_HOST} ^www.primarydomain.uk$ 
RewriteRule ^(.*)$ primarydomain.uk/$1 [R=301,L] 

ホスティングに対していくつかのアドオン/マップされたドメインがあり、パターンに基づいて書き直したいと思います。

  1. ドロップ 'www'
  2. プライマリドメインのサブディレクトリに書き換えます(ピリオド「。」をダッシュ​​「-」に置き換えます)
  3. 上記のルールを実行する場合にのみ、wwwドメインをwww以外のドメイントラフィックにリダイレクトします。次に例を示します。

    www.fishandchips.co.uk => primarydomain.uk/closed/fishandchips-co-uk
    www.mushypeas.com => primarydomain.uk/closed/mushypeas-com
    pukkapie.uk => primarydomain.uk/closed/pukkapie-uk
    

現在、次のロジックをコピーして貼り付けています。

RewriteCond %{HTTP_HOST} ^(www.)?fishandchips.co.uk$ 
RewriteRule ^(.*)$ http://primarydomain.uk/closed/fishandchips-co-uk [R=301,L]
価格

最初のルールセットは、次のように再開できます。

RewriteCond %{HTTP_HOST} ^(www\.)?primarydomain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.primarydomain.uk$ [NC]
RewriteRule ^ http://primarydomain.uk%{REQUEST_URI} [R=301,L]

2番目のルールセットでは、次のようなものを試してみます。

# This one will work for domains with single extension like .com
RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.([^\.]+)$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.([^\.]+)$ [NC]
RewriteCond %{HTTP_HOST} !primarydomain.uk$ [NC]
RewriteRule ^ http://primarydomain.uk/closed/%1-%2%{REQUEST_URI} [R=302,L]

# This one will work for domains with 2 extensions like .co.uk
RewriteCond %{HTTP_HOST} ^www\.([^\.]+)\.([^\.]+)\.([^\.]+)$ [NC,OR]
RewriteCond %{HTTP_HOST} ^([^\.]+)\.([^\.]+)\.([^\.]+)$ [NC]
RewriteCond %{HTTP_HOST} !primarydomain.uk$ [NC]
RewriteRule ^ http://primarydomain.uk/closed/%1-%2-%3%{REQUEST_URI} [R=302,L]

%{REQUEST_URI}最後には、それがそのドメインから来ていた任意のURLを下に渡すようになります。

注:これはテストされていないソリューションであることに注意してください。期待どおりに機能するはずですが、マルチレベルのサブドメインは考慮されていないため、調整する必要があります。

また、の302代わりに設定しました。完全に機能することを確認301する302まで使用し、次に移動301します。また、別のブラウザを使用しているか、キャッシュをクリアして、キャッシュされたリダイレクトが表示されていないことを確認します。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

.htaccessmod_rewriteの説明

分類Dev

.htaccessMOD_REWRITEサブドメイン

分類Dev

Wordpressでの.htaccessmod_rewriteの順序

分類Dev

メインドメインからサブドメインへのhtaccessMod_Rewrite

分類Dev

.htaccessmod_rewriteがサブディレクトリで機能しない

分類Dev

.htaccessmod_rewrite国コードプレフィックス

分類Dev

.htaccessmod_rewrite内のパーセント記号

分類Dev

URL +パラメータの.htaccessmod_rewrite言語

分類Dev

.htaccessmod_rewriteが実際のディレクトリを表示しない理由

分類Dev

3つのディレクトリレベルを持つ.htaccessmod_rewrite

分類Dev

https://subdomain.domain.comからhttps://www.subdomain.domain.comへの.htaccessmod_rewrite

分類Dev

.htaccessmod_rewriteはページのレンダリングを変更します

分類Dev

.htaccessmod_rewriteはページのレンダリングを変更します

分類Dev

変数のハイフンを読み取る方法を理解するhtaccessmod_rewrite

分類Dev

Htaccessmod_rewriteの問題-正規表現が正しく機能しない

分類Dev

.htaccessmod_rewriteが私のURLの角かっこ[]をめちゃくちゃにしています

分類Dev

クリーンURLと追加のカスタムパラメータに一致する.htaccessmod_rewriteルール

分類Dev

エンコードされていないパスが機能しているのにエンコードされたURLパスが機能していない.htaccessmod_rewrite

分類Dev

.htaccessmod_rewriteで500エラーが発生する

分類Dev

.htaccessmod_rewrite-ディレクトリを書き換えルールから除外する方法

分類Dev

mod_rewriteサブドメインをディレクトリに

分類Dev

htaccess rewrite:Wordpressディレクトリ+サブドメインリダイレクトが一緒に機能しない

分類Dev

NGINX:リダイレクトなしのサブドメインからサブディレクトリへ

分類Dev

Mod_RewriteサブドメインとディレクトリをGET変数に設定

分類Dev

.htaccess rewriteは、エイリアスをhttp / httpsでルートドメインサブディレクトリにリダイレクトします

分類Dev

htaccessmod_rewrite-フォルダとファイルをパラメータに書き換えます

分類Dev

サブディレクトリからドメインへのHtaccessリダイレクト

分類Dev

mod_rewriteをフォルダからサブディレクトリファイルに

分類Dev

mod_rewriteは特定のURLからサブディレクトリを削除します

Related 関連記事

  1. 1

    .htaccessmod_rewriteの説明

  2. 2

    .htaccessMOD_REWRITEサブドメイン

  3. 3

    Wordpressでの.htaccessmod_rewriteの順序

  4. 4

    メインドメインからサブドメインへのhtaccessMod_Rewrite

  5. 5

    .htaccessmod_rewriteがサブディレクトリで機能しない

  6. 6

    .htaccessmod_rewrite国コードプレフィックス

  7. 7

    .htaccessmod_rewrite内のパーセント記号

  8. 8

    URL +パラメータの.htaccessmod_rewrite言語

  9. 9

    .htaccessmod_rewriteが実際のディレクトリを表示しない理由

  10. 10

    3つのディレクトリレベルを持つ.htaccessmod_rewrite

  11. 11

    https://subdomain.domain.comからhttps://www.subdomain.domain.comへの.htaccessmod_rewrite

  12. 12

    .htaccessmod_rewriteはページのレンダリングを変更します

  13. 13

    .htaccessmod_rewriteはページのレンダリングを変更します

  14. 14

    変数のハイフンを読み取る方法を理解するhtaccessmod_rewrite

  15. 15

    Htaccessmod_rewriteの問題-正規表現が正しく機能しない

  16. 16

    .htaccessmod_rewriteが私のURLの角かっこ[]をめちゃくちゃにしています

  17. 17

    クリーンURLと追加のカスタムパラメータに一致する.htaccessmod_rewriteルール

  18. 18

    エンコードされていないパスが機能しているのにエンコードされたURLパスが機能していない.htaccessmod_rewrite

  19. 19

    .htaccessmod_rewriteで500エラーが発生する

  20. 20

    .htaccessmod_rewrite-ディレクトリを書き換えルールから除外する方法

  21. 21

    mod_rewriteサブドメインをディレクトリに

  22. 22

    htaccess rewrite:Wordpressディレクトリ+サブドメインリダイレクトが一緒に機能しない

  23. 23

    NGINX:リダイレクトなしのサブドメインからサブディレクトリへ

  24. 24

    Mod_RewriteサブドメインとディレクトリをGET変数に設定

  25. 25

    .htaccess rewriteは、エイリアスをhttp / httpsでルートドメインサブディレクトリにリダイレクトします

  26. 26

    htaccessmod_rewrite-フォルダとファイルをパラメータに書き換えます

  27. 27

    サブディレクトリからドメインへのHtaccessリダイレクト

  28. 28

    mod_rewriteをフォルダからサブディレクトリファイルに

  29. 29

    mod_rewriteは特定のURLからサブディレクトリを削除します

ホットタグ

アーカイブ