8

FTP のルートにある異なるサブフォルダーでホストされているいくつかのサイトがあるセットアップがあります。


    ROOT
    -site1folder
    -site2folder

アカウントに関連付けられていないドメイン名が 2 つあります。ホスティング アカウントを指すようにドメインの DNS レコードを変更しましたが、ドメインを転送するのではなく、正しいサイトをロードするために正しいサブフォルダーに移動するには、2 つの異なる URL が必要です。ドメインは

  • www.site1.com
  • www.site2.com

理想的には、site1 が site1folder のコンテンツをロードし、サイト 2 とそれに対応するフォルダーも同じようにしたいと考えています。

現在、ルートに .htaccess ファイルがあり、さまざまな投稿を見てマッシュアップしました。私は .htaccess の初心者です。現在、サイト 1 が site1 フォルダーを指すようにしようとしています。


    Options +FollowSymLinks

    #Turns the rewrite engine on.
    RewriteEngine on

    #Fix missing trailing slash character on folders.
    RewriteRule ^([^.?]+[^.?/])$ $1/ [R,L]

    RewriteBase /website1
    #www.site1.co.uk and site1.co.uk will map to the folder

    RewriteCond %{HTTP:Host} ^(?:www\.)?site1\.co.uk
    RewriteRule (.*) /site1 [NC,L,NS]

これを読み込むと、site1 フォルダーのコンテンツが取得されますが、この URL は site1.co.uk/site1 です。

URLをまったく変更したくありません。指しているサブフォルダーの内容をロードしたいだけです。

たとえそれができなくても、別の方法で行う必要がある場合でも、どんなアイデアでも大歓迎です。

4

2 に答える 2

20

わかりました人々は、他のコードを解読するために多くのヘッドバンギングと多くのドキュメントを読んだ後、最終的にこれを自分で解決することができました. これが私がしたことです...



    Options +FollowSymLinks


    RewriteEngine on
    #========================================================================
    # FIRST Handle the http requests first before removing the additional url junk
    #========================================================================
    #rule for site1.com to link to site1folder directory
    RewriteCond %{HTTP_HOST} ^(www.)?site1.com$
    RewriteCond %{REQUEST_URI} !^/site1folder/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /site1folder/$1
    #rule for site2.com to link to site2folder directory. Its the same as above just with site2 URL and subfolder
    RewriteCond %{HTTP_HOST} ^(www.)?site2.com$
    RewriteCond %{REQUEST_URI} !^/site2folder/
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ /site2folder/$1

    #==========================================================
    # SECOND Remove the additional url junk once the new url is loaded
    #==========================================================
    #rule for site1 url rewrite to remove /site1foler/index.php from the URL
    RewriteCond %{HTTP_HOST} ^(www.)?site1.com$
    RewriteRule ^(/)?$ site1folder/index.php
    #rule for site2 url rewrite to remove /site2foler/index.php from the URL. Again its the same as above just with the site2 URL and sub folder info.
    RewriteCond %{HTTP_HOST} ^(www.)?site2.com$
    RewriteRule ^(/)?$ site2folder/index.php

これで繰り返しがどこにあるかを確認できることを願っています。さらにサイトを追加したい場合は、データをコピーして貼り付け、追加したいサイトに一致するようにサイトの URL とサブフォルダーを変更します。

これがあなたの何人かを助けることができたことを願っています. また、これに問題がある場合は、私は .htaccess ファイルの初心者であるため、非常に高く評価されます。

于 2013-08-13T04:22:48.690 に答える