2017-04-22 3 views
0

내 웹 사이트에 간단한 301 리디렉션을 구현하려고하지만 오류 메시지 또는 내부 서버 오류가 발생하지 않습니다. 이전 포럼 게시물에 대해 몇 가지 다른 제안을 시도했지만 아무 것도 작동하지 않습니다. 다음은 내 htaccess 파일의 전체 코드입니다.301 htaccess를 사용하여 리디렉션

ErrorDocument 404 http://website.com/ 

RewriteEngine on 

Redirect 301 /recipe?recipe=1 http://website.com/recipe/recipe-a 
Redirect 301 /recipe?recipe=2 http://website.com/recipe/recipe-b 
Redirect 301 /recipe?recipe=3 http://website.com/recipe/recipe-c 
Redirect 301 /recipe?recipe=4 http://website.com/recipe/recipe-d 
Redirect 301 /recipe?recipe=5 http://website.com/recipe/recipe-e 
Redirect 301 /recipe?recipe=6 http://website.com/recipe/recipe-f 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^recipe/([\w-]+)/?$ recipe.php?recipe=$1 [QSA,L] 

#Remove .php extension: 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

#Force non-www: 
RewriteCond %{HTTP_HOST} www.(.*)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L] 

미리 도움을 요청 해 주셔서 감사합니다.

답변

0

RewriteRule을 사용하여 쿼리 문자열을 일치시킬 수 없습니다. 다음과 같이 RewriteCond을 사용하십시오.

Options -MultiViews 
ErrorDocument 404/
RewriteEngine on 

#Force non-www: 
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC] 
RewriteRule ^(.*)$ http://%1/$1 [R=301,L,NE] 

RewriteCond %{QUERY_STRING} ^recipe=1$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-a? [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^recipe=2$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-b? [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^recipe=3$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-c? [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^recipe=4$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-d? [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^recipe=5$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-e? [L,NC,R=301] 

RewriteCond %{QUERY_STRING} ^recipe=6$ [NC] 
RewriteRule ^recipe(\.php)?$ /recipe/receipe-f? [L,NC,R=301] 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^recipe/([\w-]+)/?$ recipe.php?recipe=$1 [QSA,L] 

#Remove .php extension: 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ $1.php [L] 
관련 문제