.htaccess exclude 301 redirect bypass pseudostatisk undantagskatalogregel

När en WordPress- webbplats distribueras i Apache används en .htaccess-fil för att ange omskrivningsregler.

Men ibland när andra program körs, till exempel CWP custom subdomain folder directory paths edit the vhosts file , är det nödvändigt att exkludera 301 redirect exception folder-kataloger för att kringgå WordPress pseudostatiska regler.

Följande är ett möjligt tillvägagångssätt.

.htaccess-fil för att lägga till regel för exkludera mappkatalog 

.htaccess-filen utesluter katalogregler för 301 omdirigeringsundantag

Om du automatiskt vill omdirigera användare till en underdomän utan toppdomänen www måste du lägga till en omdirigeringsregel i .htaccess-filen för att exkludera specifika mappkataloger. ▼

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

Sätt den här koden före den första regeln för att uppnå den angivna katalogexkluderingsfunktionen ▼

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/img.chenweiliang.com/.*$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • När inställningen träder i kraft, gå till mappkatalogen /img.chenweiliang.com/ Sidor i WordPress kommer inte att bearbetas av WordPress.

Den sekundära katalogen /go/ kan inte omdirigeras

Chen Weiliangs blogg använder den betalda versionen av WordPress-pluginet GTranslate, och det har bekräftats att GTranslate-pluginet inte använder /go/ som en underkatalog eller underdomän.

Hittade med Pretty Link-plugin för att lägga till omdirigeringarChen WeiliangbloggensTelegramNär du länkar kanaler:
https://www.chenweiliang.com/go/tgchannel

  • (Detta beror på att hopplänken för Pretty Link-pluginet skrivs över av RewriteRule-omdirigeringsregeln i .htaccess-filen)

Den hoppar automatiskt till en underdomän som inte finns:
http://go. chenweiliang.com/go/tgchannel

  • (För att undvika döda länkar, lägg till ett mellanslag efter go. i länken ovan)

En sökning i Chen Weiliangs bloggs .htaccess-fil hittade dock ingen RewriteRule som innehåller /go/.

Efter att jag försökte ta bort GTranslate-konfigurationen RewriteRule, omdirigerades denna länk framgångsrikt:
https://www.chenweiliang.com/go/tgchannel

  • Så jag är ganska säker på att GTranslate-konfigurationen RewriteRule orsakar omdirigeringsfelet för underkataloglänken /go/.

Hur utesluter man omdirigering av /go/ underkatalog?

Om du behöver exkludera flera olika underkataloger kan du använda omdirigeringsreglerna nedan för att lägga till dem ▼

RewriteCond %{REQUEST_URI} !^/?(directory1|directory2)($|/)
  • i directory1|directory2|etc lägg önskat antal kataloger i .
  • Detta bör vara "om REQUEST_URI inte börjar med /katalog1 eller /katalog2".

det kommer att matcha:

  • /katalog1/dasdas
  • /katalog1
  • /katalog1/

och många fler……

Hur ställer man in exclude /go/ jump-länkar i RewriteRule?

Lägg bara till följande "exclude /go/ subdirectory redirection"-regel högst upp i GTranslate-omdirigeringsregeln▼

# 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 ###

发表 评论

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

Bläddra till början