1

URLを変更せずにすべてのサブドメインをユーザーフォルダーにリダイレクトするために.htaccessについて検索して学習するために過去2日間を費やしましたが、3つの小さな問題があり続けています. 私は本当にいくつかの助けをいただければ幸いです

問題 1)

私がそれに行くとhttp://www.example.com/users/foo、自動的にURLをリダイレクトしますhttp://foo.example.com/が、私が行ってhttp://www.example.com/users/foo/dashboard.php も、リダイレクトする代わりに何もしませんhttp://foo.example.com/dashboard.php

これは私が使用するコードです:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /users/(.+)/\ HTTP/
RewriteRule ^users/([^/]+)/(.*)$ http://$1.example.com/$2 [R=301,L]

問題 2)

私が行くならhttp://foo.example.com/dashboard.php

から情報を取得します。http://www.example.com/users/foo/dashboard.php

しかし、foo.example.com(firefox で) アドレス バーに入力すると、(時々) 自動的に にリダイレクトされます。接頭辞www.foo.example.comを防ぐことはできますか?www

これがコードです

RewriteCond %{REQUEST_URI} !^/users/
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteCond %{HTTP_HOST} ([^.]+)\.example\.com
RewriteRule (.*) /users/%1/$1 [L]

問題 3)

キャンペーン Web サイトはフォルダー内にありますhttp://www.example.com/websiteが、URL に表示される必要があります( URLhttp://www.example.com/から情報を取得するように)。http://www.example.com/users/foohttp://foo.example.com/

4

1 に答える 1

0

問題1については、ホストを確認するだけです:

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^users/([^/]+)/(.*)$ http://$1.domain.com/$2 [R=301,L]

2番目の問題について、これはdrupal.htaccessファイルから取得した変更されたルールです:

# remove www prefix
RewriteCond %{HTTP_HOST} ^www\.(.+)\.domain\.com$ [NC]
RewriteRule ^ http://%1%.domain.com{REQUEST_URI} [L,R=301]

# redirect to the subdirectory
RewriteCond %{HTTP_HOST} !^www\.(.+)\.domain\.com$ [NC]
RewriteCond %{HTTP_HOST} ^(.+)\.domain\.com$ [NC]
RewriteRule ^ user/%1%{REQUEST_URI} [L,R=301]

3 番目の問題については、こちらを確認してください。

RewriteCond %{HTTP_HOST} ^www.domain.com$
RewriteRule ^(.*)$ website/$1 [R=301,L]
于 2012-09-02T14:06:38.830 に答える