RedirectMatch의 이상한 출력

RedirectMatch의 이상한 출력

.htaccess에서 일부 301 리디렉션을 시도하고 있습니다.

다음과 같이 리디렉션하려고 합니다.

http://creek.com/wines/red/greatwine

~ 안으로

http://creek.com/shop/product/wines/red/greatwine

하지만 다음과 같은 결과가 나타납니다.

http://creek.com/shop/product/red/greatwine?/wines/red/greatwine

와인 아래에는 다양한 하위 디렉토리가 있으므로 와일드카드를 사용해야 합니다. 그게 말이 되기를 바랍니다.

아래의 .htaccess를 참조하세요. 어떤 도움을 주셔서 감사합니다!

RewriteEngine On
RewriteCond %{HTTP_HOST} !^creek.com$ [NC]
RewriteRule ^(.*)$ http://creek.com/$1 [L,R=301]

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !\.(gif|jpe?g|png)$ [NC]
RewriteRule ^(.*)$ /index.php?/$1 [L]
</IfModule>

RedirectMatch 301 ^/wines/(.*)/(.*)$ http://creek.com/shop/product/$1

답변1

@댄 말이 맞아요.

RedirectMatch를 a 로 변환하여 블록 Rewrite앞에 배치 해야 합니다 <IfModule mod_rewrite.c>.

RewriteCond %{REQUEST_URI} ^/wines/(.*)/(.*)
RewriteRule ^(.*)$ http://creek.com/shop/product/$1 [L,R=301]

관련 정보