.htaccess vylučovať 301 presmerovanie obísť pravidlo adresára pseudo statickej výnimky

Keď je webová stránka WordPress nasadená v Apache, na určenie pravidiel prepisovania sa používa súbor .htaccess.

Niekedy však, keď sú spustené aj iné programy, ako napríklad cesty k adresárom vlastných subdomén CWP a úprava súboru vhosts , je potrebné vylúčiť výnimku presmerovania 301, aby sa obišli pseudostatické pravidlá WordPressu.

Nasleduje jeden z možných prístupov.

.htaccess na pridanie pravidla o vylúčení adresára priečinka 

Súbor .htaccess vylučuje pravidlá adresára priečinka s výnimkami 301 presmerovania

Ak chcete automaticky presmerovať používateľov na subdoménu bez domény najvyššej úrovne www , musíte do súboru .htaccess pridať pravidlo presmerovania, ktoré vylúči konkrétne adresáre priečinkov. ▼

RewriteCond %{REQUEST_URI} !^/img.chenweiliang.com/.*$ [NC]

Vložte tento kód pred prvé pravidlo, aby ste dosiahli špecifikovanú funkciu vylúčenia adresára ▼

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/img.chenweiliang.com/.*$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • Keď sa nastavenie prejaví, prejdite do adresára priečinka /img.chenweiliang.com/ Stránky v rámci WordPress nebudú spracované WordPressom.

Sekundárny adresár /go/ nie je možné presmerovať

Blog Chen Weiliang používa platenú verziu pluginu GTranslate pre WordPress a bolo potvrdené, že plugin GTranslate nepoužíva /go/ ako podadresár alebo subdoménu.

Nájdené pomocou doplnku Pretty Link na pridávanie presmerovaníChen WeiliangblogovtelegramPri prepojení kanála:
https://www.chenweiliang.com/go/tgchannel

  • (Je to spôsobené tým, že odkaz na skok doplnku Pretty Link je prepísaný pravidlom presmerovania RewriteRule v súbore .htaccess)

Automaticky preskočí na subdoménu, ktorá neexistuje:
http://go. chenweiliang.com/go/tgchannel

  • (Aby ste sa vyhli nefunkčným odkazom, pridajte medzeru za go. v odkaze vyššie)

Vyhľadávanie súboru .htaccess blogu Chen Weilianga však nenašlo RewriteRule obsahujúci /go/.

Keď som sa pokúsil odstrániť konfiguráciu GTranslate RewriteRule, tento odkaz bol úspešne presmerovaný:
https://www.chenweiliang.com/go/tgchannel

  • Som si teda celkom istý, že chyba presmerovania pre odkaz na podadresár /go/ spôsobuje konfigurácia GTranslate RewriteRule.

Ako vylúčiť presmerovanie podadresára /go/?

Ak potrebujete vylúčiť viacero rôznych podadresárov, môžete ich pridať pomocou pravidiel presmerovania uvedených nižšie ▼

RewriteCond %{REQUEST_URI} !^/?(directory1|directory2)($|/)
  • 在 directory1|directory2|etc vložte požadovaný počet adresárov do .
  • Malo by to byť "ak REQUEST_URI nezačína /adresár1 alebo /adresár2".

bude sa zhodovať:

  • /adresar1/dasdas
  • /adresar1
  • /adresar1/

a mnoho ďalších……

Ako nastaviť vylúčiť /go/ skok odkazy v RewriteRule?

Stačí pridať nasledujúce pravidlo „vylúčiť /go/ presmerovanie podadresára“ na začiatok pravidla presmerovania GTranslate▼

# Exclude /go/ subdirectory redirection
RewriteCond %{REQUEST_URI} !^/?(go)($|/)

### BEGIN GTranslate config ###
RewriteRule ^([a-z]{2}|af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-CN|zh-TW|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu)/(.*)$ http://$1.chenweiliang.com/$2 [R=301,L,QSA]

RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-CN|zh-TW|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu)/(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-CN|zh-TW|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu)/(.*)$ /$1/$3 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-CN|zh-TW|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu)/(.*)$ /wp-content/plugins/gtranslate/url_addon/gtranslate.php?glang=$1&gurl=$2 [L,QSA]
RewriteRule ^(af|sq|am|ar|hy|az|eu|be|bn|bs|bg|ca|ceb|ny|zh-CN|zh-TW|co|hr|cs|da|nl|en|eo|et|tl|fi|fr|fy|gl|ka|de|el|gu|ht|ha|haw|iw|hi|hmn|hu|is|ig|id|ga|it|ja|jw|kn|kk|km|ko|ku|ky|lo|la|lv|lt|lb|mk|mg|ms|ml|mt|mi|mr|mn|my|ne|no|ps|fa|pl|pt|pa|ro|ru|sm|gd|sr|st|sn|sd|si|sk|sl|so|es|su|sw|sv|tg|ta|te|th|tr|uk|ur|uz|vi|cy|xh|yi|yo|zu)$ /$1/ [R=301,L]
### END GTranslate config ###

发表 评论

您的邮箱地址不会被公开。必填项已用*标注

Prejdite na začiatok