0

取れなくて困っています

site.com/member-videos

の中へ

site.com/videos

または現実に

#RewriteCond %{HTTP_HOST} !^/community/member-videos/
#RewriteRule (.*) http://site.com/community/videos/$1 [R=301,L]

これはループしているようです!

私にとって、上記は「/community/member-videos/」の一致を見つけて、そのようなものを後でURLに送信すると言っています...私はこの典型的な問題で多くの時間を失ってしまい、多くのことを見ました同様のオンラインですが、この場合は何も機能しません..ありがとう

4

2 に答える 2

0
RewriteRule (.*) http://site.com/community/videos/$1 [R=301,L]

これは間違っています。無限ループに陥ります。

これを試してください:

RewriteRule http://site.com/community/member-videos/$1 ^community/videos/(.*)$ [R=301,L]
于 2012-10-30T15:56:38.023 に答える
0

あなたはほとんどそれを持っていました。条件が一致する変数はホストであり、 URIではありません。ホストを確認する必要がある場合は、ホスト名のみである必要があります (URI パスではありません) site.com%{REQUEST_URI}照合対象に変数を使用する必要があります。

RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/videos/
RewriteRule ^/?member-videos(.*)$ /videos$1 [L,R=301]

あなたが示した例communityでは、URI にその部分がまったくありません。URL にない場合、書き換えエンジンに送信される文字列には表示されません。しかし、ルールに/communityはそれらが含まれているため、実際にそのパスが必要な場合は、次のようになります。

RewriteCond %{HTTP_HOST} ^(www\.)?site\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/community/videos/
RewriteRule ^/?community/member-videos(.*)$ /community/videos$1 [L,R=301]
于 2012-10-30T18:34:07.877 に答える