.htaccess tidak termasuk 301 ubah hala pintasan pseudo peraturan direktori folder pengecualian statik

Apabila laman web WordPress digunakan dalam Apache, fail .htaccess digunakan untuk menentukan peraturan penulisan semula.

Walau bagaimanapun, kadangkala apabila program lain sedang berjalan, seperti laluan direktori folder subdomain tersuai CWP edit fail vhosts , adalah perlu untuk mengecualikan 301 direktori folder pengecualian pengalihan untuk memintas peraturan pseudo-statik WordPress.

Berikut adalah satu pendekatan yang mungkin.

Fail .htaccess untuk menambah kecualikan peraturan direktori folder 

Fail .htaccess tidak termasuk peraturan direktori folder pengecualian ubah hala 301

Jika anda ingin mengalihkan pengguna secara automatik ke subdomain tanpa domain peringkat atas www , anda perlu menambah peraturan pengalihan pada fail .htaccess untuk mengecualikan direktori folder tertentu. ▼

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

Letakkan kod ini sebelum peraturan pertama untuk mencapai fungsi pengecualian direktori yang ditentukan ▼

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/img.chenweiliang.com/.*$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
  • Selepas tetapan berkuat kuasa, akses direktori folder /img.chenweiliang.com/ Halaman dalam WordPress tidak akan diproses oleh WordPress.

Direktori kedua /go/ tidak boleh diubah hala

Blog Chen Weiliang menggunakan versi berbayar plugin WordPress GTranslate, dan telah disahkan bahawa plugin GTranslate tidak menggunakan /go/ sebagai subdirektori atau subdomain.

Ditemui menggunakan pemalam Pretty Link untuk menambah ubah halaChen WeiliangblogTelegramApabila saluran memaut:
https://www.chenweiliang.com/go/tgchannel

  • (Ini kerana pautan lompat pemalam Pretty Link ditimpa oleh peraturan ubah hala RewriteRule dalam fail .htaccess)

Ia secara automatik akan melompat ke subdomain yang tidak wujud:
http://go. chenweiliang.com/go/tgchannel

  • (Untuk mengelakkan pautan mati, tambah ruang selepas pergi. dalam pautan di atas)

Walau bagaimanapun, carian pada fail .htaccess blog Chen Weiliang tidak menemui RewriteRule yang mengandungi /go/.

Selepas saya cuba mengalih keluar konfigurasi GTranslate RewriteRule, pautan ini berjaya diubah hala:
https://www.chenweiliang.com/go/tgchannel

  • Jadi, saya agak pasti bahawa konfigurasi GTranslate RewriteRule menyebabkan ralat pengalihan untuk pautan subdirektori /go/.

Bagaimana untuk mengecualikan /go/ pengalihan semula subdirektori?

Jika anda perlu mengecualikan berbilang subdirektori yang berbeza, anda boleh merujuk kepada peraturan pengalihan di bawah untuk menambahkannya ▼

RewriteCond %{REQUEST_URI} !^/?(directory1|directory2)($|/)
  • 在 directory1|directory2|etc letakkan bilangan direktori yang dikehendaki dalam .
  • Ini sepatutnya "jika REQUEST_URI tidak bermula dengan /directory1 atau /directory2".

ia akan sepadan:

  • /directory1/dasdas
  • /direktori1
  • /direktori1/

dan banyak lagi……

Bagaimana untuk menetapkan pautan kecualikan / pergi / lompat dalam RewriteRule?

Cuma tambahkan peraturan "exclude /go/ subdirektori ubah hala" berikut pada bahagian atas peraturan ubah hala 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 ###

发表 评论

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

Tatal ke