1

SO での会話でこの話題が何度か出てきたことは承知していますが、私の問題は非常にオーダーメイドであり、経験の浅い apache htaccess コーダーとして、どこを見ればよいか、何を適切に尋ねればよいかわかりません。

私の目標:

私のドメイン(www.mydomain.com)

私の目標(www.shop.mydomain.com)

ユーザーが に移動すると、サーバーは' サブフォルダー'my domain'を指しますが、これは URL に表示されるドメインを変更しません。'shop

私の問題:

私はこれを「部分的に」達成しましたが、たとえば別のページに移動すると、フォルダー/about内で、サーバーが./shopmydomain.com/aboutmydomain.com/shop/about

見た目から、サーバーは'shop'ルートを探し、実際のルート ディレクトリを Web サイトの残りの部分で見ています。

ウェブサイト全体を/shopフォルダから実行したいのですが、ドメインはそのままにしておきますmydomain.com/about.

私は迷っており、これを達成することはできません。私の現在のApacheリライトは次のとおりです。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteCond %{REQUEST_URI} !^/shop/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /shop/$1
RewriteCond %{HTTP_HOST} ^(www.)?mydomain.com$ [NC]
RewriteRule ^(/)?$ shop/index.php [L]

アドバイスやヘルプはありますか?:) ありがとうございました。

4

1 に答える 1

0

.htaccess下のDOCUMENT_ROOTディレクトリで次のコードを試してください。

Options +FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule ^$ shop/index.php [L]

RewriteCond %{HTTP_HOST} ^(www\.)?mydomain\.com$ [NC]
RewriteRule (?!^shop/)^(.+)$ /shop/$1 [L,NC]
于 2013-08-14T14:55:07.847 に答える