0

私はから変更しようとしています

http://www.myhost.com/en/team/league-of-legends/3798/destiny

http://lol.myhost.com/en/team/league-of-legends/3798/destiny

次のようなさまざまな組み合わせをApache2サーバーで試しました。

RewriteCond %{HTTP_HOST}    ^www\. [NC]
RewriteRule ^/(.*)/team/league-of-legends/(.*)/(.*)  http://lol.myhost.com/$1/team/league-of-legends/$2/$3 [R=301,L]

しかし、動作しないようです(htaccessテスターでチェックインしました)。 私は何を間違っているのですか?

4

3 に答える 3

1

mod_rewriteと.htaccessを有効にしてから、次のhttpd.confコードをドメインのディレクトリの.htaccess下に配置します。DOCUMENT_ROOTwww.myhost.com

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

RewriteCond %{HTTP_HOST} ^www\.(myhost\.com)$ [NC]
RewriteRule ^[^/]+/team/league-of-legends/ http://lol.%1%{REQUEST_URI} [R=301,L,NC]
于 2013-02-12T18:40:12.687 に答える
1

これを試すことができます:

Options +FollowSymlinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(?:www\.)?myhost\.com$ [NC]
RewriteCond %{REQUEST_URI}   ^/([^/]+)/team/league-of-legends/([^/]+)/([^/]+)/?  [NC]
RewriteRule .  http://lol.myhost.com/%1/team/league-of-legends/%2/%3    [R=301,L,NC]

永久にリダイレクト

http://www.myhost.com/en/team/league-of-legends/3798/destinyまた

http://myhost.com/en/team/league-of-legends/3798/destiny

に:

http://lol.myhost.com/en/team/league-of-legends/3798/destiny

文字列en3798およびdestinyは可変であると想定され、teamleague-of-legendsは固定であると想定されます。

サイレント マッピングの場合は、から削除R=301します[R=301,L,NC]

于 2013-02-12T20:12:20.637 に答える
0

これが機能するかどうかを確認します。そうでない場合はお知らせください。

RewriteCond %{HTTP_HOST} ^www\. [NC]
RewriteRule ^([^\/]*)/team/league-of-legends/(.*)$  http://lol.myhost.com/$1/team/league-of-legends/$2 [R=301,L]
于 2013-02-12T18:32:42.813 に答える