Chuyển hướng Loops
Điều gì chuyển hướng loops là, vì sao they take một site xuống cho người dùng và các crawler, phổ biến gây ra (HTTPS/SSL-chế độ mismatches, www so với non-www conflicts, plugin so với máy chủ rules, trailing-slash bugs), và cách diagnose và cách sửa them by nguyên nhân.
Ngôn ngữ
1 tín hiệu bằng chứng trên trang này
- Công cụ trực tuyến liên quanHTTP Status & Redirect Checker
MỘT vòng lặp chuyển hướng là một chain of các chuyển hướng đó circles lại on itself — MỘT → B → MỘT, hoặc một lâu hơn cycle — so không trang bao giờ trả về một 200. Các trình duyệt surface điều này as ERR_TOO_MANY_REDIRECTS; trong Google Search Console đây là một of four được ghi lại gây ra of đó 'Lỗi chuyển hướng' status. đây là một site-outage vấn đề đầu tiên (real khách truy cập là locked out) và an SEO vấn đề second (Google không thể chỉ mục điều gì điều này không thể reach), và Patrick cách diễn đạt là đó điều này harms three parties: người dùng, các crawler, và của bạn own máy chủ. MỘT well-được ghi lại nguyên nhân là an HTTPS/SSL-chế độ mismatch giữa một CDN và đó origin (e.g. Cloudflare on 'Flexible' trong khi đó origin forces HTTPS); other phổ biến gây ra là www/non-www rules pointing tại mỗi other, một plugin rule fighting một máy chủ rule, và trailing-slash bugs — không single nguyên nhân là đó universal hoặc hầu hết phổ biến một trên mỗi site. MỘT loop không phải một hop-count vấn đề — raising đó chuyển hướng limit không bao giờ các cách sửa điều này. Đó cách sửa là luôn cụ thể để đó nguyên nhân: break đó cycle, nhận đó cuối URL để trả về đó correct non-chuyển hướng phản hồi, và cập nhật liên kết nội bộ.
TL;DR — MỘT vòng lặp chuyển hướng là khi của bạn các chuyển hướng chạy trong một circle: trang MỘT gửi bạn để trang B, và trang B gửi bạn right lại để MỘT. Không có gì bao giờ loads, so đó trình duyệt cho lên và cho thấy “too many redirects.” (bản dịch) «cũng nhiều các chuyển hướng.» Điều này có nghĩa là trang web của bạn là xuống cho real khách truy cập — cách sửa điều này trước khi bạn worry về bất cứ điều gì khác.
Điều gì một vòng lặp chuyển hướng là
MỘT vòng lặp chuyển hướng là một cycle trong mà chuyển hướng targets eventually trả về để an trước đó URL thay vì reaching một cuối tài nguyên. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Redirection Google lists loops as một lỗi chuyển hướng đó ngăn successful processing. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Page indexing report Seeing đó giống nhau URL come lại khoảng là một mạnh sign of một loop, nhưng đây là không tự động proof — điều như đang logged trong, một locale/consent lựa chọn, hoặc một cookie có thể occasionally làm đó giống nhau URL resolve differently đó tiếp theo time bạn hit điều này. Nếu bạn là không sure, retest đó chính xác giống nhau URL đó chính xác giống nhau way (giống nhau login state, giống nhau cookies, giống nhau locale) trước concluding đây là một real loop.
MỘT chuyển hướng là một rule đó gửi một khách truy cập từ một address để một sản phẩm khác. Thông thường đó là fine — bạn move một trang và chuyển hướng đó old URL để đó new một.
MỘT vòng lặp chuyển hướng là khi những rules point tại mỗi other và không bao giờ reach an thực tế trang. Đó simplest version là hai các trang đó chuyển hướng để mỗi other:
- Bạn visit MỘT, mà các chuyển hướng bạn để B.
- B các chuyển hướng bạn lại để MỘT.
- MỘT các chuyển hướng bạn để B again… forever.
Đó trang không bao giờ loads. Trình duyệt của bạn follows một bunch of các chuyển hướng, notices đây là
going trong circles, và dừng với an lỗi. Trong Chrome đó lỗi là
ERR_TOO_MANY_REDIRECTS. Firefox, Safari, và Edge cho thấy của họ own version of đó
giống nhau “the page isn’t redirecting properly / too many redirects” (bản dịch) «đó trang không chuyển hướng properly / cũng nhiều các chuyển hướng» message.
Vì sao này là urgent
Lead với này, vì đây là đó part mọi người underestimate: một vòng lặp chuyển hướng có nghĩa là trang của bạn là completely inaccessible để real khách truy cập. đây là không một chậm trang hoặc một minor SEO vấn đề — đây là an outage cho bất kỳ ai hits đó looping URL. Nếu đây là của bạn toàn bộ site (very phổ biến khi đây là gây ra by an SSL setting), của bạn entire site là xuống until bạn cách sửa điều này.
Các công cụ tìm kiếm là affected cũng — Google không thể reach một trang đó không bao giờ loads, so điều này không thể chỉ mục điều này — nhưng đó khách truy cập outage là đó emergency.
Đó nhanh điều để kiểm tra đầu tiên
Some loops là nhanh để cách sửa, some không. Bắt đầu ở đây:
- Try điều này trong một riêng tư/incognito window. Nếu đó loop chỉ happens trong của bạn thông thường trình duyệt nhưng hoạt động trong incognito, đây là một stale bộ nhớ đệm hoặc cookie on của bạn machine — clear trình duyệt của bạn bộ nhớ đệm và cookies cho đó site. (Nếu điều này loops trong incognito cũng, đây là on đó máy chủ side và không amount of bộ nhớ đệm-clearing sẽ help.)
- Đã làm bạn chỉ thay đổi điều gì đó? New SSL certificate, một security/CDN service
như Cloudflare, một new WordPress plugin, an
.htaccessedit? Đó thay đổi là gần như certainly đó nguyên nhân. Undoing điều này là thường đó fastest cách sửa. - Là điều này chỉ HTTPS? Nếu
http://loads nhưnghttps://loops (hoặc vice versa), đó nguyên nhân là gần như luôn an HTTPS setting fighting với itself — see đó Advanced tab cho đó chính xác cách sửa. Này là một of đó best-được ghi lại gây ra, especially khi một CDN sits trong front of trang web của bạn.
Đó real cách sửa phụ thuộc vào điều gì là causing đó loop — có không single “check your redirects” (bản dịch) «kiểm tra của bạn các chuyển hướng» câu trả lời. Chuyển để đó Advanced tab cho gây ra, command-line diagnosis, và nền tảng-cụ thể các cách sửa, hoặc open đó Các cây quyết định tab để nhấp qua “what’s causing my loop?” (bản dịch) «điều gì là causing my loop?» từng bước.
TL;DR — MỘT vòng lặp chuyển hướng là một cycle of các chuyển hướng (MỘT → B → MỘT, hoặc lâu hơn) đó không bao giờ trả về một
200, so điều này không bao giờ resolves. đây là categorically khác nhau từ một dài chain — một chain là chậm, một loop là hỏng — mà là vì sao raising một hop limit không bao giờ các cách sửa một. Điều này surfaces asERR_TOO_MANY_REDIRECTStrong đó trình duyệt và as một of four được ghi lại gây ra of đó “Redirect error” (bản dịch) «Lỗi chuyển hướng» status trong Search Console. Điều này harms three parties: người dùng (locked out), các crawler (trapped, wasted crawl budget, không có gì được lập chỉ mục), và máy chủ của bạn (wasted các tài nguyên, và — depending on traffic, liệu đó requesting clients lại off, và của bạn capacity/rate limits — potentially serious load). MỘT well-được ghi lại nguyên nhân là an HTTPS/SSL-chế độ mismatch giữa một CDN/proxy và đó origin; others bao gồm www/non-www rules pointing tại mỗi other, một plugin rule fighting một máy chủ rule, và trailing-slash logic bugs — không single nguyên nhân là universally “the most common” (bản dịch) «đó hầu hết phổ biến» trên mỗi site. Đó cách sửa là luôn cụ thể để đó nguyên nhân.
MỘT loop là một cycle, không một dài chain
Đó defining thuộc tính là cyclic routing, không một particular number of hops. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: RFC 9110: Redirection Search Console’s label các báo cáo đó failed chuyển hướng path, không đó configuration layer đó đã tạo điều này. Evidence for this claim Primary standard or official documentation supporting the adjacent article claim. Scope: Protocol semantics and Search behavior are kept separate; no indexing, ranking, or migration-timing guarantee is inferred. Confidence: high · Verified: Google: Page indexing report Treat một repeated URL as một mạnh trace heuristic, không tự động proof: yêu cầu state — auth, consent, locale, cookies, hoặc các header — có thể differ giữa visits, và một URL đó looked như điều này đã là cycling có thể resolve khi đó state thay đổi. Xác nhận một đúng loop by reproducing đó cyclic transition dưới materially tương đương yêu cầu state (giống nhau session, giống nhau cookies, giống nhau locale) trước khi bạn call điều này một loop và go cách sửa một rule.
Này là đó phân biệt đó làm mọi thứ khác làm hợp lý. Ở đây cách I define điều này trong my Ahrefs hướng dẫn để các chuyển hướng: chuyển hướng loops là infinite loops of các chuyển hướng đó occur khi một URL các chuyển hướng để itself, hoặc khi một URL trong một chuỗi chuyển hướng các chuyển hướng lại để một URL trước đó trong đó chain.
MỘT chuyển hướng chain (MỘT → B → C → D → cuối) là một path — đây là chỉ lâu hơn điều này
nên là. Điều này eventually reaches một trang đó trả về 200. đây là chậm và đây là
worth collapsing, nhưng điều này resolves.
MỘT chuyển hướng loop là một circle. MỘT → B → MỘT. Điều này không bao giờ reaches một 200, không quan trọng cách
dài bạn follow điều này. đó là vì sao “just increase the redirect limit” (bản dịch) «chỉ increase đó chuyển hướng limit» — một reasonable
instinct nếu bạn là thinking về chains — không phải một hợp lệ cách sửa cho một loop. MỘT loop
không fail vì một trình duyệt ran out of patience; điều này fails vì có không
đích để reach. Bạn có để break đó cycle, không follow hơn hops.
Cách một loop cho thấy lên
Trong đó trình duyệt. Chrome cho thấy ERR_TOO_MANY_REDIRECTS. Firefox says “The page
isn’t redirecting properly.” (bản dịch) «Đó trang không chuyển hướng properly.» Safari says “too many redirects occurred.” (bản dịch) «cũng nhiều các chuyển hướng occurred.» Edge cho thấy
của nó own “too many redirects” (bản dịch) «cũng nhiều các chuyển hướng» message. Giống nhau root nguyên nhân, khác nhau wording.
Trong Google Search Console. MỘT loop là một of four được ghi lại gây ra of đó “Redirect error” (bản dịch) «Lỗi chuyển hướng» status trong đó Trang Lập chỉ mục báo cáo — đó others đang một chuỗi chuyển hướng đó đã là cũng dài, một chuyển hướng URL đó exceeded đó max URL length, và một bad hoặc empty URL trong đó chain. Nếu bạn là seeing “Redirect error” (bản dịch) «Lỗi chuyển hướng» pile lên trong đó báo cáo, một loop là một of đó four điều này có thể là. Đó báo cáo reflects điều gì Google saw on của nó cuối cùng crawl of đó URL, không một trực tiếp, permanently-hiện tại verdict — re-kiểm tra với URL Inspection sau khi bạn cách sửa đó cycle thay vì assuming đó báo cáo cập nhật instantly. (Đó lỗi chuyển hướng status có của nó own deep dive on này site đó covers all four; này bài viết là đó một cụ thể về đó loop.)
Để các crawler và trong của bạn logs. MỘT crawler đó hits một loop giữ requesting URLs đó giữ chuyển hướng. Well-behaved bots detect điều này và dừng; ít hơn well-behaved ones không, mà là nơi đó máy chủ-load vấn đề xuất hiện từ (dưới).
Vì sao loops quan trọng — three parties nhận hurt
I frame chuyển hướng loops as một three-way vấn đề, vì they không chỉ cost bạn thứ hạng — they hit người dùng, bots, và của bạn own infrastructure:
- Cho người dùng. They cut off access để đó dự kiến tài nguyên và trigger một “too many redirects” (bản dịch) «cũng nhiều các chuyển hướng» lỗi trong đó trình duyệt. Đó trang là đơn giản unreachable. Này là đó headline: đây là một site-outage vấn đề đầu tiên.
- Cho bots và các công cụ tìm kiếm. They trap các crawler và waste ngân sách crawl. MỘT crawler không thể follow một loop để bất cứ điều gì indexable, và Google own tài liệu các báo cáo này as một “Redirect error” (bản dịch) «Lỗi chuyển hướng» — có không có gì on đó far side of đó cycle để crawl qua, so có không có gì để chỉ mục hoặc xếp hạng. đây là không một hình phạt; đó trang chỉ functionally không thể là reached. (None of Google thông thường chuyển hướng logic — như các tín hiệu consolidating để một đích theo thời gian — áp dụng, vì có không đích Google bao giờ reaches.)
- Cho máy chủ của bạn. Loops waste của bạn các tài nguyên. Some bots detect đó loop và lại off; others không, và một client đó giữ re-requesting một looping URL không có backing off adds sustained, wasted load. Liệu đó rises để một serious outage — potentially một self-inflicted DDoS-như event — phụ thuộc vào cách nhiều traffic là hitting đó loop, liệu đó các phản hồi là cacheable, và của bạn máy chủ capacity và rate limiting; điều này không an inherent thuộc tính of mỗi loop, nhưng đây là một real risk on cao-traffic hoặc heavily-được crawl các trang với không rate limiting trong front of them, và đây là an angle hầu hết ghi-ups miss.
Phổ biến gây ra
có không single universal nguyên nhân — mỗi thực tế loop traces lại để conflicting canonicalization rules trên layers đó không share state. Hai khác nhau các hệ thống mỗi “know” điều gì đó correct URL nên là, và they disagree, so they bounce đó yêu cầu lại và forth. Ở đây là đó cụ thể patterns worth kiểm tra; mà một áp dụng phụ thuộc vào của bạn stack, không một fixed frequency xếp hạng.
HTTP/HTTPS conflict giữa một CDN và đó origin
Nếu bạn put một proxy/CDN như Cloudflare trong front of trang web của bạn, đó connection có hai legs: trình duyệt → CDN, và CDN → origin. Nếu những hai legs disagree về HTTP so với HTTPS, bạn nhận một loop hoàn toàn tại đó boundary. Cloudflare’s own khắc phục sự cố doc names này family of gây ra trực tiếp: một misconfigured SSL/TLS Encryption chế độ, conflicting settings on đó Edge Certificates trang, hoặc một misconfigured chuyển hướng rule — phổ biến trong Cloudflare’s own sản phẩm, không nhất thiết đó single hầu hết phổ biến nguyên nhân of loops mọi nơi. Vài concrete branches:
- Flexible chế độ + origin forces HTTPS. Trong Flexible SSL chế độ, Cloudflare
talks để của bạn origin over đơn giản HTTP — mặc dù đó khách truy cập là on HTTPS.
Nếu của bạn origin là cũng configured để force HTTP → HTTPS (qua
.htaccess, nginx config, hoặc một plugin): Cloudflare gửi HTTP để đó origin, đó origin says “you must use HTTPS” (bản dịch) «bạn phải dùng HTTPS» và các chuyển hướng, Cloudflare (vẫn Flexible) gửi HTTP again, và điều này repeats forever. Cách sửa: chuyển Cloudflare để Đầy đủ hoặc Đầy đủ (strict) SSL/TLS chế độ so đó CDN→origin leg là cũng HTTPS (Đầy đủ strict cần một hợp lệ cert on đó origin). - Đầy đủ/Đầy đủ (strict) chế độ + origin các chuyển hướng HTTPS → HTTP. Ít hơn phổ biến, nhưng nếu đó origin có một leftover rule đó các chuyển hướng HTTPS lại để HTTP (e.g. từ trước khi bạn enabled Đầy đủ/strict), đó CDN giữ re-requesting over HTTPS và đó origin giữ bouncing điều này để HTTP. Cách sửa: xóa đó origin-side HTTPS→HTTP rule — đó origin nên serve HTTPS trực tiếp khi đó CDN là set để Đầy đủ/strict.
- “Always Use HTTPS” (bản dịch) «Luôn Dùng HTTPS» tại đó edge plus an origin-cấp độ HTTPS chuyển hướng. Double-forcing HTTPS tại cả hai đó edge và đó origin (hoặc an HSTS rule fighting một chuyển hướng rule) có thể xây dựng đó giống nhau kind of loop. Cách sửa: pick một place để force HTTPS, không hai.
- MỘT misconfigured chuyển hướng rule (một Cloudflare Trang Rule, Bulk Chuyển hướng, hoặc Transform Rule đó gửi một URL lại toward một form đây là đã chuyển hướng away từ). Cách sửa: audit edge-cấp độ chuyển hướng rules cho một đó contradicts đó origin own canonicalization.
www / non-www rules đó chuyển hướng vào mỗi other
Bạn muốn một canonical host — either www.example.com hoặc example.com. MỘT loop
happens khi một rule gửi example.com → www.example.com và một sản phẩm khác rule
(thường trong một khác nhau place — một plugin, một CDN chuyển hướng rule, một WordPress “Site
Address” (bản dịch) «Site Address» setting) gửi www.example.com → example.com. Mỗi fires, đó other
undoes điều này, forever. Cách sửa: decide on một canonical host, và hãy bảo đảm chỉ một
rule (trong một place) enforces điều này, chuyển hướng đó other way.
MỘT plugin/CDN rule conflicting với một máy chủ/origin rule
Đó theme đang chạy qua đó gây ra trên là đó loop lives giữa layers.
MỘT WordPress SSL-forcing plugin (hoặc đó “WordPress Address” (bản dịch) «WordPress Address» / “Site Address” (bản dịch) «Site Address» các trường
trong Settings → Chung) có thể disagree với một .htaccess rewrite hoặc một CDN edge rule.
Mỗi layer là individually “correct” nhưng they không share state, so they fight.
“My .htaccess looks fine” (bản dịch) «My looks fine» không rule out một loop — đó conflicting rule có thể trực tiếp
tại đó edge hoặc trong một plugin bạn forgot đã là ở đó. Cách sửa: tìm đó hai rules đang làm
đó giống nhau job trong khác nhau places và xóa một.
Trailing-slash so với không-trailing-slash logic bugs
MỘT rule đó adds một trailing slash (/page → /page/) có thể collide với một rule đó
strips điều này (/page/ → /page), producing một loop on đó URL. Này là thường một
single misconfigured rewrite nơi đó condition và đó đích không line lên.
Cách sửa: decide slash hoặc không-slash, và làm đó rule chỉ chuyển hướng đó sai form
để đó right một (không bao giờ chuyển hướng một URL để một form đó thì các chuyển hướng lại).
Leftover, stacked rules từ một past migration
Migrations là một phổ biến thực tế nguồn of loops. HTTP → HTTPS moves, www consolidation, domain thay đổi, và CMS replatforms all involve thêm chuyển hướng rules — và khi bạn stack một new layer on top of old rules không ai cleaned lên, hai of them có thể end lên pointing tại mỗi other. Nếu một loop appeared “out of nowhere,” (bản dịch) «out of nowhere,» kiểm tra xem một migration left chuyển hướng rules behind.
Cách diagnose một loop
Bạn muốn để see đó loop, không guess tại điều này.
Trace điều này từ đó command line với an thực tế GET yêu cầu — không một HEAD-chỉ
trace. Gửi đó giống nhau kind of yêu cầu một real khách truy cập hoặc crawler sẽ, và record
mỗi mã trạng thái và Location header không có letting curl auto-follow đầu tiên, so
bạn có thể see mỗi hop thay vì chỉ đó cuối outcome:
# GET is curl's default method (no -I); -L follows redirects; --max-redirs caps how far
curl -sL --max-redirs 10 -D - -o /dev/null https://www.example.com/ | grep -i -E '^(HTTP/|location:)'
# A loop shows the same two (or few) URLs alternating and never a 200 —
# curl stops with "Maximum (10) redirects followed".Để see đó effective URL tại mỗi dừng:
curl -sL --max-redirs 10 -o /dev/null -w '%{http_code} %{url_effective}\n' https://www.example.com/Thì so sánh so với một HEAD-chỉ trace (curl -sIL --max-redirs 10 ...) as một
phụ kiểm tra, không của bạn chính evidence — HEAD và GET là khác nhau
yêu cầu các phương thức, và application logic có thể occasionally xử lý them differently,
so một HEAD-chỉ trace có thể miss chuyển hướng behavior đó chỉ cho thấy lên on đó real
yêu cầu. Không bao giờ replay unsafe các phương thức (như một form POST) chỉ để trace một loop.
Nếu đó giống nhau host/scheme pair repeats và bạn không bao giờ see một 200, đó là đó loop —
và đó hai URLs đó giữ alternating tell bạn chính xác mà canonicalization rule
là fighting (scheme = HTTP/HTTPS mismatch; host = www/non-www; trailing slash = đó
slash bug). Từ ở đó, map mỗi hop để đó layer đó produced điều này — trình duyệt/HSTS,
edge/TLS (CDN), reverse proxy, origin máy chủ, application/CMS, hoặc session/auth
logic — vì một loop happens khi hai of những layers không share state và mỗi
insists đây là right.
Other ways trong:
- Trình duyệt DevTools → Network tab. Watch đó chuyển hướng các yêu cầu stack lên trước
đó lỗi, với mỗi
Locationheader visible. - Kiểm thử với và không có đó CDN. Nếu bạn có thể hit đó origin trực tiếp (bypassing Cloudflare) và điều này không loop, đó conflict là giữa đó CDN và origin — đó points bạn straight tại đó SSL-chế độ nguyên nhân.
- Google Search Console. URL Inspection on an affected URL, và đó “Redirect error” (bản dịch) «Lỗi chuyển hướng» bucket trong đó Trang Lập chỉ mục báo cáo, tell bạn mà URLs Google là choking on. Google Inspection Tools tài liệu trạng thái đó Inspection Tools không follow các chuyển hướng — so đọc một URL Inspection kết quả as một báo cáo on đó chính xác URL bạn tested, không as xác nhận of điều gì là on đó other side of đó loop.
- MỘT site-wide crawler — Ahrefs’ Site Audit hoặc Screaming Frog — catches loops bạn không know về. Trong Ahrefs Site Audit: crawl đó site (free với an Ahrefs Quản trị viên web Tools account) → Các chuyển hướng báo cáo → Các vấn đề tab → tìm đó “Redirect loop” (bản dịch) «Vòng lặp chuyển hướng» lỗi, thì “View affected URLs” (bản dịch) «View affected URLs» để see đó đầy đủ chain.
Cách sửa một loop
Khi bạn know đó nguyên nhân, đó structural cách sửa là đó giống nhau decision mỗi khi. Đó best way để cách sửa một loop phụ thuộc vào liệu đó cuối cùng URL trong đó chain — đó một right trước đó loop closes — là đó dự kiến cuối đích:
- Nếu điều này là đó dự kiến đích: xóa đó chuyển hướng từ đó cuối URL,
và hãy bảo đảm đó tài nguyên là thực ra accessible và trả về đó correct
non-chuyển hướng phản hồi cho đó endpoint — thường
200, though đó right status phụ thuộc vào đó tài nguyên (một đã xóa trang, chẳng hạn, nên trả về của nó own correct status, không một fake200). - Nếu điều này không: thay đổi đó looping chuyển hướng để point tại đó dự kiến cuối đích thay vì.
Trong cả hai cases, cũng đổi out bất kỳ liên kết nội bộ đó point tại một chuyển hướng URL cho trực tiếp links để đó cuối URL — không giữ feeding đó machine URLs đó chuyển hướng.
Nền tảng-cụ thể các cách sửa:
- Cloudflare (by SSL chế độ): move từ Flexible để Đầy đủ hoặc Đầy đủ (strict) so đó CDN→origin leg matches đó trình duyệt→CDN leg, và không force HTTPS tại cả hai đó edge (“Always Use HTTPS” (bản dịch) «Luôn Dùng HTTPS») và đó origin. Đầy đủ (strict) cần một hợp lệ certificate on đó origin.
- WordPress: kiểm tra Settings → Chung — “WordPress Address (URL)” (bản dịch) «WordPress Address (URL)» và “Site
Address (URL)” (bản dịch) «Site Address (URL)» nên match của bạn real canonical scheme/host. Thì tìm an
SSL-forcing plugin (hoặc một
FORCE_SSL_ADMIN/ chuyển hướng snippet trongwp-config.phphoặc đó theme) đó duplicates whatever máy chủ của bạn hoặc CDN là đã đang làm, và xóa đó duplicate. MỘT corrupted.htaccesscó thể cũng loop — regenerating điều này từ Settings → Permalinks là một phổ biến reset. - Apache (
.htaccess): hãy bảo đảm của bạn HTTPS-forcing và www-forcingRewriteRules có conditions đó exclude đó đã-correct form, so they chỉ chuyển hướng đó sai version khi. - nginx: đó giống nhau principle — một
return 301cho HTTPS hoặc host canonicalization không được fire on các yêu cầu đó là đã trong đó canonical form.
MỘT note on hop limits (đó myth để tránh)
Vì một loop có thể trông giống “too many redirects,” (bản dịch) «cũng nhiều các chuyển hướng,» mọi người reach cho hop-count
các giải pháp — raising max-redirs, bumping một chuyển hướng limit trong một plugin. Đó không bao giờ
các cách sửa một đúng loop. MỘT loop không phải một “how many hops is too many” (bản dịch) «cách nhiều hops là cũng nhiều» vấn đề đó way một
dài chain là; điều này fails on đó đầu tiên truyền regardless of bất kỳ hop tolerance, vì
đó cycle không bao giờ terminates. Đó chỉ cách sửa là để break đó cycle.
MỘT note on Bing
Google formally names “redirect loop” (bản dịch) «vòng lặp chuyển hướng» as một of four “Redirect error” (bản dịch) «Lỗi chuyển hướng» gây ra trong của nó Trang Lập chỉ mục tài liệu. Bing công khai hướng dẫn là hơn chung: dùng 301s cho vĩnh viễn moves và tránh unnecessary chuyển hướng chains. Này research đã không surface một Bing trang cụ thể named “redirect loop” (bản dịch) «vòng lặp chuyển hướng» — nhưng đó là một khoảng trống trong điều gì đã là checked, không xác nhận đó Bing có không such hướng dẫn anywhere, so treat đó four-nguyên nhân framework trên as Google-cụ thể thay vì assuming Bing documents loops cùng cách.
Related concepts
MỘT chuỗi chuyển hướng là đó sibling vấn đề — một chain đó là cũng dài là một khác nhau một of đó four “Redirect error” (bản dịch) «Lỗi chuyển hướng» gây ra, và unlike một loop điều này làm eventually resolve. MỘT 301 chuyển hướng là đó chuyển hướng vĩnh viễn bạn’ll thường collapse một loop xuống để; một 302 chuyển hướng là của nó tạm thời đối tác tương ứng. Và đó lỗi chuyển hướng status trong Search Console là đó GSC báo cáo nơi một loop hầu hết thường surfaces cho SEO purposes.
AI summary
MỘT condensed take on đó Advanced version:
- MỘT vòng lặp chuyển hướng là một cycle, không một dài chain. MỘT → B → MỘT (hoặc lâu hơn) đó
không bao giờ trả về một
200. MỘT chain là chậm nhưng resolves; một loop không bao giờ resolves — mà là vì sao raising một hop limit không bao giờ các cách sửa một. Bạn phải break đó cycle. - Điều này surfaces hai ways:
ERR_TOO_MANY_REDIRECTStrong đó trình duyệt (equivalents trong Firefox/Safari/Edge), và as một of four được ghi lại gây ra of đó “Redirect error” (bản dịch) «Lỗi chuyển hướng» status trong Google Search Console (đó others: chain cũng dài, over-max URL length, bad/empty URL). - Three-way harm (Patrick cách diễn đạt): người dùng (locked out — một site outage đầu tiên, SEO second), các crawler (trapped, wasted ngân sách crawl, không có gì nhận được lập chỉ mục on đó far side of đó cycle), và máy chủ của bạn (wasted các tài nguyên; liệu đó becomes serious load hoặc một self-inflicted DDoS phụ thuộc vào traffic volume, client backoff behavior, và của bạn capacity/rate limiting, không đó loop itself).
- MỘT well-được ghi lại nguyên nhân: an HTTPS/SSL-chế độ mismatch giữa một CDN và đó origin — e.g. Cloudflare on Flexible (HTTP để origin) trong khi đó origin forces HTTPS. Others: www/non-www rules pointing tại mỗi other, một plugin rule fighting một máy chủ rule, và trailing-slash bugs. Không single nguyên nhân là universal; migrations là một phổ biến nguồn cũng.
- Diagnose với một
GET-based trace (record status + Location theo hop không có auto-sau; so sánh HEAD chỉ as một phụ kiểm tra), watching cho đó giống nhau URLs alternating và không bao giờ một 200, plus DevTools Network, kiểm thử với/không có đó CDN, GSC URL Inspection (mà không follow các chuyển hướng itself), và một crawler (Ahrefs Site Audit / Screaming Frog) cho quy mô. - Cách sửa by nguyên nhân, thì by Patrick rule: là đó cuối cùng pre-loop URL đó dự kiến đích? Nếu có → drop của nó chuyển hướng và làm điều này trả về đó correct non-chuyển hướng phản hồi; nếu không → repoint đó looping chuyển hướng tại đó real cuối URL. Either way, cách sửa liên kết nội bộ.
- Cloudflare cách sửa: move Flexible → Đầy đủ/Đầy đủ (strict), và không force HTTPS tại cả hai đó edge và đó origin. WordPress cách sửa: align Site/WordPress Address settings và xóa đó duplicate SSL-forcing plugin/rule.
- Bing hướng dẫn on các chuyển hướng là hơn chung hơn Google four-nguyên nhân framework; không dedicated Bing loop trang turned lên trong này research, mà không đó giống nhau as confirming một không exist.
Tài liệu chính thức
Chính-nguồn tài liệu từ các công cụ tìm kiếm và infrastructure providers.
- Trang lập chỉ mục báo cáo — names một chuyển hướng loop as một of đó four gây ra of đó “Redirect error” (bản dịch) «Lỗi chuyển hướng» status, và suggests dùng một gỡ lỗi tool như Lighthouse cho detail.
- Các chuyển hướng và Google Search — Google main chuyển hướng doc; khuyến nghị một vĩnh viễn máy chủ-side chuyển hướng nơi có thể. (Note: điều này không dùng đó word “loop” — đó loop-as-một-named-concept lives chỉ trong đó Trang Lập chỉ mục doc trên.)
- Site moves với URL thay đổi — đó chain hướng dẫn (“Googlebot can follow up to 10 hops… ideally no more than 3 and fewer than 5” (bản dịch) «Googlebot có thể follow lên để 10 hops… ideally không hơn 3 và ít hơn 5»; verified trực tiếp 2026-07-18). Này là về chains, không loops — một loop không bao giờ resolves trong bất kỳ hop count.
- Crawling infrastructure / HTTP các mã trạng thái — trạng thái Google các crawler follow lên để 10 chuyển hướng hops theo mặc định (cụ thể sản phẩm các crawler có thể differ) và đó Google Inspection Tools không follow các chuyển hướng (verified trực tiếp 2026-07-18). Này trực tiếp resolves liệu URL Inspection exposes đó đầy đủ chuyển hướng path: điều này không — điều này các báo cáo on đó chính xác URL bạn gave điều này.
Cloudflare (một clear chính nguồn on một well-được ghi lại nguyên nhân)
- ERR_TOO_MANY_REDIRECTS / Cũng nhiều các chuyển hướng — Cloudflare’s own khắc phục sự cố doc, scoped để gây ra phổ biến trong của nó sản phẩm: một misconfigured SSL/TLS Encryption chế độ (Flexible so với Đầy đủ/Đầy đủ (strict)), Edge Certificates settings (“Always Use HTTPS” (bản dịch) «Luôn Dùng HTTPS»), và misconfigured chuyển hướng rules, mỗi với một diagram và cách sửa.
Bing / Microsoft
- Bing Quản trị viên web Guidelines — chung chuyển hướng dẫn (301s cho vĩnh viễn moves, tránh chains). Không Bing trang cụ thể named “redirect loop” (bản dịch) «vòng lặp chuyển hướng» turned lên trong này research — treat đó as một research khoảng trống, không xác nhận Bing có không such hướng dẫn.
Quotes từ đó nguồn
On-đó-record statements. Mỗi nguồn link là một deep link để đó passage nơi khả dụng.
Patrick Stox — điều gì một vòng lặp chuyển hướng là (Ahrefs)
- “Redirect loops are infinite loops of redirects that occur when a URL redirects to itself or when a URL in a redirect chain redirects back to a URL earlier in the chain.” (bản dịch) «Chuyển hướng loops là infinite loops of các chuyển hướng đó occur khi một URL các chuyển hướng để itself hoặc khi một URL trong một chuỗi chuyển hướng các chuyển hướng lại để một URL trước đó trong đó chain.» — Patrick Stox, 11 Types Of Các chuyển hướng & Của họ SEO Impact, Ahrefs Blog. Nhảy đến trích dẫn
Patrick Stox — đó three-way harm (Ahrefs)
- “They’re problematic for three reasons: For users – They cut off access to an intended resource and trigger a ” (bản dịch) «họ là problematic cho three reasons: Cho người dùng – They cut off access để an dự kiến tài nguyên và trigger một»cũng nhiều các chuyển hướng” error in the browser. For bots and search engines – They ” (bản dịch) «lỗi trong đó trình duyệt. Cho bots và các công cụ tìm kiếm – They»trap” crawlers and waste the crawl budget. For servers - they waste your resources. Some bots will handle this well, others will not. They could potentially take down your server with a constant DDoS attack.” (bản dịch) «các crawler và waste đó ngân sách crawl. Cho các máy chủ - they waste của bạn các tài nguyên. Some bots sẽ xử lý này well, others sẽ không. They có thể potentially take xuống máy chủ của bạn với một constant DDoS attack.» — Patrick Stox, 11 Types Of Các chuyển hướng & Của họ SEO Impact, Ahrefs Blog. Nhảy đến trích dẫn
Patrick Stox — cách sửa một loop (Ahrefs)
- “The best way to fix a redirect loop depends on whether the last URL in the chain (before the loop) is the intended final destination. If it is, remove the redirect from the final URL. Then make sure the resource is accessible and returns a 200 status code. If it isn’t, change the looping redirect to the intended final destination.” (bản dịch) «Đó best way để cách sửa một vòng lặp chuyển hướng phụ thuộc vào liệu đó cuối cùng URL trong đó chain (trước đó loop) là đó dự kiến cuối đích. Nếu điều này là, xóa đó chuyển hướng từ đó cuối URL. Thì hãy bảo đảm đó tài nguyên là accessible và trả về một 200 mã trạng thái. Nếu điều này không, thay đổi đó looping chuyển hướng để đó dự kiến cuối đích.» — Patrick Stox, 11 Types Of Các chuyển hướng & Của họ SEO Impact, Ahrefs Blog. Nhảy đến trích dẫn
Google — vòng lặp chuyển hướng as một “Redirect error” (bản dịch) «Lỗi chuyển hướng» nguyên nhân
- “Google experienced one of the following redirect errors: A redirect chain that was too long. A redirect loop. A redirect URL that eventually exceeded the max URL length. A bad or empty URL in the redirect chain.” (bản dịch) «Google experienced một of đó sau chuyển hướng các lỗi: MỘT chuỗi chuyển hướng đó đã là cũng dài. MỘT vòng lặp chuyển hướng. MỘT chuyển hướng URL đó eventually exceeded đó max URL length. MỘT bad hoặc empty URL trong đó chuỗi chuyển hướng.» — Google, Trang lập chỉ mục báo cáo Help doc. Nhảy đến trích dẫn
điều gì là causing my vòng lặp chuyển hướng?
MỘT loop là luôn some rule fighting một sản phẩm khác rule — đó trick là finding mà hai.
Nhấp qua điều này. (Bắt đầu by opening đó URL trong an incognito window và, nếu bạn
có thể, tracing điều này với một GET-based yêu cầu — curl -sL --max-redirs 10 -D - -o /dev/null — so bạn có thể see mà URLs giữ alternating.)
Diagnosing a redirect loop by cause
Mà cách sửa làm I apply khi I’ve được tìm thấy đó loop?
Fixing the loop once you've located it
Runbook: “The page loops — ERR_TOO_MANY_REDIRECTS — what do I do?” (bản dịch) «Đó trang loops — ERR_TOO_MANY_REDIRECTS — điều gì làm I làm?»
MỘT không-panic order of operations cho một trực tiếp loop. Làm những trong sequence; dừng khi bạn đã được tìm thấy và fixed đó nguyên nhân. Remember đó cách diễn đạt: này là một site outage cho real khách truy cập, so restore access đầu tiên, perfect đó SEO second.
0. Phạm vi điều này (2 minutes). Là điều này một URL, một section, hoặc đó toàn bộ site? MỘT toàn bộ-site loop đó appeared right sau an SSL hoặc CDN thay đổi là đó emergency pattern — jump straight để step 3. MỘT single-URL loop là thường một cụ thể rule (host, slash) — steps 2 và 4.
1. Rule out của bạn own trình duyệt. Open đó URL trong an incognito window. Nếu điều này loads ở đó, đây là một stale local bộ nhớ đệm/cookie — clear bộ nhớ đệm và cookies cho đó site và bạn là đã xong. Nếu điều này loops trong incognito cũng, đây là máy chủ-side; continue.
2. Trace mỗi hop với một GET-based yêu cầu (không HEAD-chỉ).
curl -sL --max-redirs 10 -o /dev/null -w '%{http_code} %{url_effective}\n' https://www.example.com/Đọc mà URLs giữ alternating. Đó điều đó flips tells bạn đó nguyên nhân:
scheme (http ⇄ https) → an HTTPS/SSL vấn đề (step 3); host (www ⇄ non-www) →
step 4; trailing slash → step 4. Nếu bạn không bao giờ see một 200 và đó giống nhau pair repeats,
bạn đã confirmed một đúng loop (không một dài chain). Nếu của bạn app behaves differently
cho HEAD hơn GET, một HEAD-chỉ trace (curl -sIL) có thể miss part of đó picture —
dùng điều này chỉ as một phụ kiểm tra.
3. Nếu đó scheme là flipping, kiểm tra đó SSL layer đầu tiên (một well-được ghi lại
nguyên nhân khi một CDN là trong front).
Là đó site behind Cloudflare hoặc một sản phẩm khác CDN? Nếu có: này là gần như certainly an
SSL-chế độ mismatch. Trong Cloudflare, nếu SSL/TLS là set để Flexible, chuyển điều này để
Đầy đủ hoặc Đầy đủ (strict) — Flexible gửi HTTP để của bạn origin trong khi đó origin
forces HTTPS, mà là đó loop. Cũng xác nhận bạn là không forcing HTTPS trong hai
places (edge “Always Use HTTPS” (bản dịch) «Luôn Dùng HTTPS» và an origin/.htaccess/plugin rule) — xóa
một. Nếu có không CDN, bạn có hai HTTPS-forcing rules on đó origin fighting;
giữ một.
4. Nếu đó host hoặc slash là flipping, tìm đó hai rules đang làm đó giống nhau job.
Đó loop là giữa layers đó không share state — một plugin so với .htaccess, một CDN
chuyển hướng rule so với đó CMS Site Address setting. Trong WordPress, kiểm tra Settings →
Chung (WordPress/Site Address) và bất kỳ SSL-forcing plugin. Tìm đó hai rules
enforcing host hoặc slash, và delete một so chỉ một single rule các chuyển hướng đó sai
form → đó right form, khi.
5. Apply đó structural cách sửa.
Identify đó cuối cùng URL trước đó loop closes. Nếu đây là đó dự kiến
đích, xóa đó chuyển hướng từ điều này và làm điều này trả về 200. Nếu điều này không,
repoint đó looping chuyển hướng tại đó real cuối URL. Either way, thì cập nhật
liên kết nội bộ so không có gì points tại một chuyển hướng URL.
6. Re-kiểm thử và xác nhận sạch.
Re-chạy đó curl trace. Bạn muốn either một single 301 → 200 hoặc một trực tiếp 200 — không
alternating URLs. Kiểm thử cả hai http:// và https://, và cả hai www và non-www,
so bạn không cách sửa một direction và leave đó other looping.
7. Clear caches và re-validate cho tìm kiếm. Purge đó CDN/trang bộ nhớ đệm so old chuyển hướng các phản hồi không phân phối. Thì, nếu đó loop đã là cho thấy trong Search Console’s Trang Lập chỉ mục báo cáo as một “Redirect error,” (bản dịch) «Lỗi chuyển hướng,» dùng URL Inspection và Validate Cách sửa — knowing đó re-crawling takes days để weeks; đó khách truy cập-facing cách sửa là đã xong khi step 6 là sạch.
8. Ngăn đó tiếp theo một. Giữ một single nguồn of truth cho của bạn canonical scheme/host/slash rules, và sau bất kỳ SSL, CDN, plugin, hoặc migration thay đổi, re-chạy đó curl trace on của bạn key URLs trước khi bạn walk away.
Đó cycle, owner, và invariant framework
I cách sửa chuyển hướng loops by documenting three điều trước editing rules:
- Cycle: ghi đó chính xác repeating sequence, including giao thức, hostname, path, query, và slash state. MỘT loop là proven chỉ khi một URL repeats.
- Owner: identify mà layer produced mỗi hop: trình duyệt/HSTS, CDN, load balancer, web máy chủ, application, hoặc plugin. Các header phản hồi và configuration boundaries quan trọng hơn guessing từ đó cuối trình duyệt lỗi.
- Invariant: chọn đó một canonical state mỗi layer phải agree on—thông thường một single giao thức, host, và path format. Mỗi noncanonical variant có thể chuyển hướng toward điều này; đó canonical URL phải trả về một non-chuyển hướng phản hồi.
Đó safe cách sửa xóa hoặc thay đổi đó đầu tiên conflicting rule, thì re-traces mỗi entry variant. Raising một hop limit chỉ delays đó giống nhau cycle.
Tools cho exposing chuyển hướng cycles
- Chuỗi chuyển hướng Mapper: trace mỗi hop và see chính xác nơi một giao thức, host, slash, domain, hoặc path thay đổi và repeats.
- Chuyển hướng Checker: chạy fast kiểm tra trên đó HTTP, HTTPS, www, và non-www entry variants sau đó cách sửa.
- Bulk HTTP Mã trạng thái Checker: validate một wider URL sample và export remaining loops hoặc multi-hop chains.
- HTTP Header Checker: inspect CDN/edge fingerprints và các header đó help assign mỗi hop để của nó issuing layer.
- curl:
curl -sSL --max-redirs 12 -D - -o /dev/null URLcho một thô GET-based trace bên ngoài đó trình duyệt cookie state; dùng một HEAD-chỉ trace (-I) chỉ as một phụ kiểm tra, since HEAD và GET có thể behave differently on some apps. Kiểm thử một fresh session cũng khi authentication hoặc locale cookies có thể participate trong đó loop. - CDN, máy chủ, và application configuration: so sánh all chuyển hướng owners so với đó chosen canonical giao thức/host/path invariant trước thay đổi bất kỳ một rule.
Các tài nguyên worth của bạn time
My related writing
- 11 Types Of Các chuyển hướng & Của họ SEO Impact — my đầy đủ các chuyển hướng dẫn, với đó dedicated “Avoid redirect loops” (bản dịch) «Tránh chuyển hướng loops» section: đó three-way-harm cách diễn đạt (người dùng, các crawler, các máy chủ — including đó DDoS risk), cách tìm loops với Site Audit, và đó hai-branch cách sửa rule này bài viết là được xây dựng on.
- 301 so với. 302 Các chuyển hướng cho SEO — mà chuyển hướng loại để collapse một loop xuống để cho một vĩnh viễn so với tạm thời move.
- MỘT Website Migration Takes Hơn MỘT Checklist — migrations là một phổ biến thực tế nguồn of loops; cách plan đó các chuyển hướng so bạn không stack rules đó fight.
Từ khoảng đó ngành
- Cũng nhiều các chuyển hướng (ERR_TOO_MANY_REDIRECTS) — Cloudflare’s chính thức khắc phục sự cố doc, và đó clearest chính nguồn on một well-được ghi lại nguyên nhân (SSL-chế độ mismatch): Flexible so với Đầy đủ/Đầy đủ (strict), “Always Use HTTPS,” (bản dịch) «Luôn Dùng HTTPS,» và edge-cert gây ra, mỗi với một diagram và cách sửa.
- Trang lập chỉ mục báo cáo (Google Search Console Help) — nơi một loop là named as một of đó four “Redirect error” (bản dịch) «Lỗi chuyển hướng» gây ra.
- Google Search Bỏ qua Chuyển hướng Loops (Công cụ tìm kiếm Roundtable, 2019) — một phụ báo cáo on một 2019 John Mueller tweet cách diễn đạt một loop as similar để một hỏng link; đó original tweet và chính xác wording đã không independently reverified này truyền, so treat này as background context thay vì một confirmed quote.
- Cũng nhiều các chuyển hướng: Cách sửa loop các lỗi và bảo vệ SEO (Search Engine Land) — một rộng gây ra-và-các cách sửa hướng dẫn covering đó WordPress và giao thức-misconfiguration angles.
Số liệu và facts worth citing
- MỘT loop harms three parties, không một. Từ my Ahrefs các chuyển hướng dẫn: loops cut off access cho người dùng (đó “too many redirects” (bản dịch) «cũng nhiều các chuyển hướng» trình duyệt lỗi), trap các crawler và waste ngân sách crawl, và waste máy chủ các tài nguyên — với đó worst case (depending on traffic và rate limiting) đang bots đó không lại off thêm DDoS-cấp độ load để của bạn own máy chủ. Nguồn
- MỘT loop là một of four được ghi lại “Redirect error” (bản dịch) «Lỗi chuyển hướng» gây ra trong Google Search Console — alongside một chain đó là cũng dài, một URL over đó max length, và một bad/empty URL trong đó chain. Nguồn
- MỘT well-được ghi lại nguyên nhân là an SSL-chế độ mismatch. Cloudflare’s own khắc phục sự cố doc lays out cách Flexible SSL chế độ (HTTP để origin) plus an origin đó forces HTTPS produces an infinite loop hoàn toàn tại đó CDN/origin boundary — một of several families Cloudflare names as phổ biến trong của nó own sản phẩm, không một claim về đó single hầu hết phổ biến nguyên nhân mọi nơi. Nguồn
Tự kiểm tra: Chuyển hướng Loops
Five nhanh các câu hỏi on điều gì chuyển hướng loops là và cách sửa them. Pick an câu trả lời cho mỗi, thì kiểm tra.
Nhật ký thay đổi
Đã cập nhật 8 thg 8, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.
Đã cập nhật 18 thg 7, 2026.
Tóm tắt biên tập và chi tiết thay đổi đã ghi nhận.Chi tiết thay đổi
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
-
Ghi chú thay đổi chi tiết hiện chỉ có bằng tiếng Anh.
Không thể so sánh đầy đủ — không có bản lưu trước đó cho lần sửa đổi này.