301 새로운 도메인으로 몇 가지 특정 Url

0

질문

나는 보았다 하지만 비슷한 주제를 찾을 수 없는 실제적인 답을 내 문제입니다.

내가 나의 오래된 웹사이트에 새로운 하나,그리고 일부 Url 이 변화하고 있습니다.

나의 일반적인 301 리다이렉션하는 새로운 도메인(기 때문에 대부분의 경로 같은)동안,개별적으로 리다이렉션이 일부 Url.

여기에 오래 된 웹 사이트입니다.htaccess:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{HTTP_HOST} ^old\.com$ [OR]
  RewriteCond %{HTTP_HOST} ^www\.old\.com$
  RewriteRule (.*)$ https://new.com/$1 [R=301,L]

  Redirect 301 "/custom/url/" "https://new.com/my-custom-url"
</IfModule>

하지만 301 로 리디렉션: https://new.com/custom/urlhttps://new.com/my-custom-url

내 Url 한 URL 매개 변수가 나는 redirect 와 같은:

Redirect 301 "/brand.php?name=Example" "https://new.com/Example"
Redirect 301 "/brand.php?name=Example2" "https://new.com/another/url"

는 작동하지 않습니다.

매우 감사드립니다 귀하의 도움이됩니다.

.htaccess redirect seo
2021-11-22 19:48:11
1

최고의 응답

2

하지만 301 로 리디렉션: https://new.com/custom/urlhttps://new.com/my-custom-url

그것 때문에 귀사의 특정 규칙을 리디렉션한 후 나타나게 됩니다. 또한 당신은 혼합하는 mod_rewrite 규칙을 mod_alias 규칙과 이러한 호출되는 다른 시간에.

는 이를 다음과 같이 설명합니다:

RewriteEngine On

# redirect /brand.php?name=Example2 to new.com/another/Example2
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
RewriteCond %{QUERY_STRING} ^name=(Example2) [NC]
RewriteRule ^brand\.php$ https://new.com/another/%1? [R=301,L,NE]

# redirect /brand.php?name=Example3 to new.com/category/Example3
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
RewriteCond %{QUERY_STRING} ^name=(Example3) [NC]
RewriteRule ^brand\.php$ https://new.com/category/%1? [R=301,L,NE]

# generic redirect /brand.php?name=Example to new.com/Example2
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
RewriteCond %{QUERY_STRING} ^name=([^&]+) [NC]
RewriteRule ^brand\.php$ https://new.com/%1? [R=301,L,NE]

# redirect custom URL
RewriteRule ^custom/url/ https://new.com/my-custom-url [R=301,L,NE,NC]

# redirect everything else
RewriteCond %{HTTP_HOST} ^(www\.)?old\.com$ [NC]
RewriteRule ^ https://new.com%{REQUEST_URI} [R=301,L]
2021-11-23 19:38:59

그의 작업 감사합니다. 내가 다른 질문:수 있는 방법 리디렉션 URL 매개 변수를 개별적으로 대신의 일반 규칙? 예를 들어"old.com/brand.php?name=Example"를"new.com/brand/example"및"old.com/brand.php?name=Example2"를"new.com/example2"?
Malcom

I'm sorry,I'm not sure 사용하는 방법이다. I tried: RewriteCond %{THE_REQUEST} /brand\.php\?name=([mybrandname) [NC] RewriteRule ^ https://new.com/brands/mybrandname [R=301,L,NE] 을 반환하는 오류가 500
Malcom

어쩌면 내가 충분히 밝혀지지 않았다,그러나마 brand.php?name=something 해야 합동 개별 URL 을 입력합니다. 나는 확실하지 않을 수정하는 방법 예습니다. brand.php?name=brand1 해야 합로 리디렉션 new.com/product-category/brand1brand.php?name=brand2 해야 합로 리디렉션 new.com/brand2 (예를 들어)
Malcom

/product-category/ 은 새로운 추가하지 않에 덮여 원래 요구 사항입니다. 현재 규칙은 일반록 brand.php?name=anything 리디렉션됩니다 new.com/anything. 어떤 특정한 경우 조정할 수 있습니다 자신을 변경하여: RewriteCond %{QUERY_STRING} ^name=([^&]+) [NC]
anubhava

체크인 나 업데이트한 답변을 보려면 지금 특정 및 일반 규칙을 리디렉션
anubhava

그것은 완벽하다,매우 감사드립니다 당신의 시간과 당신의 도움이됩니다.
Malcom

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................