Generator ng .htaccess Redirect
Gumawa ng 301 at 302 redirect para sa .htaccess o Nginx, pilitin ang HTTPS at www, ilipat ang domain at ayusin ang trailing slash, may check sa loop at chain.
I-back up muna ang kasalukuyang configuration, at subukan gamit ang 302 bago lumipat sa 301: naka-cache ng browser ang permanenteng redirect.
Mga pagsusuri
Walang nakitang problema.
Paano gamitin ang .htaccess redirect generator
- Piliin ang Server: Apache (.htaccess) o Nginx, tapos ang Uri ng redirect: 301 – permanente o 302 – pansamantala.
- Sa Mga page redirect, magsulat ng isang redirect kada linya: ang lumang path, espasyo, tapos ang bagong URL, halimbawa
/old-page.html /new-page/. Gumagana rin ang tab, kuwit o->, at maaari kang mag-paste ng buong lumang URL o umiiral naRedirect 301 /a /bna linya. - Opsyonal na ilagay ang Iyong domain (halimbawa
example.com) para dumiretso ang page redirect sa huling address. - Sa ilalim ng Canonical address, lagyan ng tsek ang Pilitin ang HTTPS at pumili ng Pilitin ang www, Alisin ang www o Iwanan ang www. Sa ilalim ng Trailing slash, pumili kung idadagdag o aalisin ito.
- Kung lumipat ang buong site, punan ang Ilipat ang buong domain ng Lumang domain at Bagong address, at panatilihing naka-tsek ang Panatilihin ang path para tumapat ang bawat page sa katumbas nito.
- Basahin ang Mga pagsusuri, tapos Kopyahin o I-download ang mga panuntunan. Gamitin ang I-load ang halimbawa para makita ang kumpletong configuration.
Paano gumagana ang nabuong panuntunan
Para sa Apache, nagsusulat ang tool ng mod_rewrite rule, na nagsisimula sa isang RewriteEngine On. Ang bawat page ay nagiging RewriteRule na ang pattern ay nagsisimula sa ^/?, kaya gumagana ito sa .htaccess file (kung saan inaalis ang nangungunang slash) at sa <VirtualHost> block. Naka-escape ang tuldok, bracket, plus sign at iba pang regular-expression character sa iyong path, at ang espasyo ay nagiging \x20. Sa bagong URL, naka-escape ang $ at % dahil babasahin ito ng Apache bilang back-reference, at pinipigilan ng NE flag ang Apache na i-encode muli ang URL.
Hindi kailanman nakikita ng RewriteRule ang query string. Kapag may query string ang lumang address, tulad ng /product.php?id=42, nagdadagdag ang tool ng RewriteCond %{QUERY_STRING} ^id=42$ na linya at QSD flag, para maalis ang lumang parameter sa halip na kopyahin sa bagong page.
Inayos ang mga panuntunan para iwasan ang walang saysay na hop: domain move muna, tapos page redirect, tapos trailing slash, tapos HTTPS at www. Pinamamahalaan ng isang rule ang HTTPS at www, kaya ang http://www.example.com ay pumupunta sa https://example.com sa isang redirect. Kapag alam ang domain mo, ang page at slash redirect ay nakaturo na sa huling HTTPS address.
Para sa Nginx, ang HTTPS, www at domain move ay nagiging hiwalay na server block na may return 301, at ang page redirect ay nagiging rewrite na linya na i-paste sa loob ng pangunahing server block mo. Tumatakbo ang mga ito bago ang location matching, kaya nananalo rin sila laban sa trailing-slash rule. Ang ? sa dulo ng target ay pumipigil sa Nginx na idagdag ang lumang query string kung hindi dapat.
Mga pagsusuring ginagawa
- Page na nagre-redirect sa sarili nito, o dalawang page na nagre-redirect sa isa’t isa (loop na nagtatapos sa “too many redirects”).
- Chain tulad ng A → B → C: ituro nang direkta ang A sa C, dahil ang bawat dagdag na hop ay nagpapabagal sa bisita at nagsasayang ng crawl budget.
- Ang parehong lumang address na nakalista nang dalawang beses, kung saan ang unang rule lamang ang nalalapat.
- Target na hindi absolute URL o path na nagsisimula sa
/, ohttp://o maling www na target sa sarili mong domain. - Trailing-slash setting na muling ire-redirect ang target o ibabalik ito sa pinagmulan.
Mga madalas itanong
301 o 302 ang dapat kong gamitin?
Gamitin ang 301 kapag permanente ang paglipat: inililipat ng search engine ang senyales ng lumang page sa bago at ina-update ang index. Gamitin ang 302 para sa pansamantalang pagbabago tulad ng maintenance o maikling kampanya. Naka-cache ng browser ang 301 redirect, kaya subukan muna gamit ang 302.
Saan ko ilalagay ang .htaccess file?
Sa root folder ng site (madalas public_html o www), sa tabi ng index.php o index.html. Ang download ay pinangalanang htaccess.txt; palitan ang pangalan nito ng .htaccess, o i-paste ang mga panuntunan sa itaas ng umiiral na file mo. Panatilihin ang backup ng orihinal.
Bakit RewriteRule sa halip na Redirect 301?
Ang Redirect na linya ay mula sa mod_alias at tumatakbo sa ibang phase kaysa sa RewriteRule. Ang paghahalo ng dalawa sa isang file ay nagpapahirap hulaan ang ayos. Ang paggamit lamang ng mod_rewrite ay nagpapanatili ng bawat rule sa isang mahuhulaang pagkakasunod-sunod at pinapayagan ang pagtutugma ng query string.
Nagpapakita ng "too many redirects" ang site ko pagkatapos pilitin ang HTTPS. Bakit?
Sa likod ng load balancer, CDN o proxy na nagtatapos ng HTTPS, nakikita ng Apache ang bawat request bilang plain HTTP, kaya laging off ang %{HTTPS}. Sa ganitong kaso, subukan ang forwarded header sa halip, halimbawa RewriteCond %{HTTP:X-Forwarded-Proto} !https, o paganahin ang redirect sa CDN.
Binabago ba ng tool na ito ang server ko?
Hindi. Gumagawa lamang ito ng teksto sa browser mo. Walang ipinapadala kahit saan, at kontrolado mo pa rin kung saan at paano naka-install ang mga panuntunan.
Mga kaugnay na tool
- Generator ng Robots.txt Gumawa ng valid na robots.txt file na may user-agent group, Allow at Disallow rule, sitemap at crawl-delay, may check sa karaniwang pagkakamali.
- Generator ng Hreflang Tag Gumawa ng hreflang tag para sa multilingual na page bilang HTML link tag, XML sitemap entry o HTTP Link header, may ISO code at reciprocity check.
- Generator ng Meta Tag Libreng meta tag generator para sa pamagat, meta description, canonical URL, robots at viewport tag, may length check at tamang naka-escape na HTML.
- URL Encoder at Decoder Libreng URL encoder at decoder. I-percent-encode ang mga query parameter o buong URL, i-decode ang mga %XX sequence at ituring na espasyo ang +, sa browser mo.