4

現在、htaccess を使用して、次のような URL システムを使用しています。

- www.domain.com/member/username
- www.domain.com/member/username/contact
- www.domain.com/member/user/album/title-of-the-album/albumID

.. そんな感じ

これが私のhtaccessで、完全に機能しました。

RewriteRule ^member/([a-zA-Z0-9_-]+)$   member.php?username=$1
RewriteRule ^member/([a-zA-Z0-9_-]+)/contact$   contact.php?username=$1
RewriteRule ^member/([a-zA-Z0-9_-]+)/album/([a-zA-Z0-9_-]+)/([0-9]+)$   album.php?username=$1&title=$2&album_id=$3

ここで、「username.domain.com」などのユーザー用に動的サブドメイン システムをセットアップしたいので、以下の htaccess を使用することにしました。

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

しかし、これはユーザーを「www.domain.com/member/username」ではなく古いドメイン「www.domain.com/member/username」にリダイレクトしますアドレス バーの URL が変更されます)。

可能であれば、次のように入力したときなど、他の新しい URL に対して同じ構造を維持する機会はありますか。

  • 「username.domain.com/contact」は「www.domain.com/member/username/contact」のコンテンツを読み込みます (アドレスバーの URL は変更されません)
  • 「username.domain.com/album/title-of-the-album/albumID」は、「www.domain.com/member/username/album/title-of-the-album/albumID」のコンテンツを読み込みます (URL なし)アドレスバーの変更)

助けてください !!

4

1 に答える 1

4

試す:

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
RewriteRule ^/?$ /member.php?username=%1 [L]

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
RewriteRule ^/?contact$ /contact.php?username=%1 [L]

RewriteCond %{HTTP_HOST} !^www\.domain\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.domain\.com [NC]
RewriteRule ^/?album/([a-zA-Z0-9_-]+)/([0-9]+)$ /album.php?username=%1&title=$1&album_id=$2 [L]
于 2012-12-14T09:50:14.613 に答える