2012-12-28 3 views
0

난 그냥 (301)는 이전 URL https://www.mydomain.com/old_url/ 나는 현재이 문제와 관련된 두 번째 규칙을주의 (내 htaccess로에서 다음이htaccess로 301 규칙은

https://www.mydomain.com/new_url/로 리디렉션하는 방법을 알아낼 수 없습니다 리디렉션하지 않습니다) :

RewriteEngine On 
# SSL redirect 
RewriteCond %{HTTP:X-Forwarded-SSL} !on 
RewriteRule ^(.*) https://www.mydomain.com$1 [R=301,nc] 

RewriteCond %{THE_REQUEST} ^GET\ /old_url/ 
RewriteRule ^/old_url$ https://www.mydomain.com/new_url [R=301,nc] 

# If the root has a querystring with at least 1 character 
RewriteCond %{QUERY_STRING} ^.+ 
RewriteRule ^/?$ https://www.mydomain.com/new_home_page [R=301,nc] 

차이점이있는 경우 Django도 사용하고 있습니다. 어떤 도움이라도 대단히 감사합니다.

답변

1

을 대신 이것 :

RewriteCond %{THE_REQUEST} ^GET\ /old_url/ 
RewriteRule ^/old_url$ https://www.mydomain.com/new_url [R=301,nc] 

당신이 시도 할 수 있습니다 :

RewriteCond %{REQUEST_URI} old_url/(.*) 
RewriteRule .* https://www.mydomain.com/new_url/%1 [R=301,QSA,NC] 

리디렉션됩니다

https://www.mydomain.com/old_url/whatever

사람 : 아무튼

RewriteCond %{REQUEST_URI} old_url.* 
RewriteRule .* https://www.mydomain.com/new_url [R=301,QSA,NC] 
+0

당신이 말하는대로 할 것 같습니다. 그러나, 나는 '무엇이든'부분에 대해서는 신경 쓰지 않는다. –

+0

RewriteCond % {REQUEST_URI} old_url/ RewriteRule ^/$ https://www.mydomain.com/new_url/ [R = 301, QSA, NC] –

+0

글쎄, 아무 것도 없을 때 규칙에 영향을주지 않습니다. –

0

다음은 잘 작동합니다 :

Options +FollowSymLinks 
RewriteEngine On 
RewriteRule ^old_url$ /new_url [L,R=301] 
RewriteRule ^old_url/(.*) /new_url/$1 [L,R=301] 
+0

: 복사 할 수 없습니다 ("무엇이든")이 URI의 나머지 부분은이를 사용하는 경우

https://www.mydomain.com/new_url/whatever

업데이트 아무 것도 하지마. 이전 URL을 방문하면 여전히 404가 표시됩니다. –

+0

@AbidA 웹 서버의 루트에'.htaccess'를 넣었습니까? 내 업데이트로 시도하십시오 (기본으로 설정된 옵션이 아님). – h2ooooooo

+0

파일은 다른 규칙이 올바르게 작동하므로 올바른 위치에 있습니다. 나는 당신의 업데이트와 같은 것을 404 시도했다. –