Saya mewarisi tapak wordpress.org yang sedia ada (dan sangat bermasalah), dan saya menghadapi kesukaran untuk memahami pilihan/peraturan yang diputuskan oleh pemilik sebelumnya mengenai fail .htaccess.
Saya telah cuba google bahagian yang berbeza dan melihat dokumentasi yang berbeza, tetapi terdapat beberapa bahagian yang saya tidak dapat mencari jawapannya
Saya menggunakan penguji htaccess dan beberapa peraturan telah dipenuhi, tetapi ramai yang tidak. Penguji tidak boleh memeriksa pernyataan "ifmodule" dan tidak dapat memahami CacheLookup pada
# BEGIN LSCACHE ## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ## <IfModule LiteSpeed> RewriteEngine on CacheLookup on RewriteRule .* - [E=Cache-Control:no-autoflush] RewriteRule \.litespeed_conf\.dat - [F,L] ### marker CACHE RESOURCE start ### RewriteRule wp-content/.*/[^/]*(responsive|css|js|dynamic|loader|fonts)\.php - [E=cache-control:max-age=3600] ### marker CACHE RESOURCE end ### ### marker FAVICON start ### RewriteRule favicon\.ico$ - [E=cache-control:max-age=86400] ### marker FAVICON end ### ### marker WEBP start ### RewriteCond %{HTTP_ACCEPT} "image/webp" RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp] RewriteCond %{HTTP_USER_AGENT} iPhone.*Version/(\d{2}).*Safari RewriteCond %1 >13 RewriteRule .* - [E=Cache-Control:vary=%{ENV:LSCACHE_VARY_VALUE}+webp] ### marker WEBP end ### ### marker DROPQS start ### CacheKeyModify -qs:fbclid CacheKeyModify -qs:gclid CacheKeyModify -qs:utm* CacheKeyModify -qs:_ga ### marker DROPQS end ### </IfModule> ## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ## # END LSCACHE # BEGIN NON_LSCACHE ## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ## ## LITESPEED WP CACHE PLUGIN - Do not edit the contents of this block! ## # END NON_LSCACHE #Begin Really Simple Security <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTPS} !=on [NC] RewriteRule ^(.*)$ https://%{HTTP_HOST}/ [R=301,L] </IfModule> #End Really Simple Security # BEGIN WordPress # The directives (lines) between "BEGIN WordPress" and "END WordPress" are # dynamically generated, and should only be modified via WordPress filters. # Any changes to the directives between these markers will be overwritten. <IfModule mod_rewrite.c> RewriteEngine On RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
Pertama, apa yang penguji katakan
RewriteEngine on Only the last RewriteEngine line is taken into account
Jika ya, mengapa anda menambahnya untuk setiap bahagian yang ditanda? Bolehkah saya meninggalkan ini?
Selain itu, banyak peraturan litespeed tidak dipenuhi, tetapi saya juga menyedari bahawa terdapat beberapa bahagian yang tidak dapat difahami/lihat
Nampaknya tiada bahagian "Contoh peraturan" dan tulis semula peraturan yang ditetapkan pada litespeed .htaccess
Mengapa mereka mungkin menukar beberapa bahagian peraturan sampel "cadangan"? Contohnya dokumen saya menyatakan
RewriteCond %{HTTP_ACCEPT} "image/webp"
(penguji tidak boleh menyemak kerana pembolehubah tidak diketahui oleh mereka) Tetapi contoh peraturan tulis semula termasuk [atau]
RewriteCond %{HTTP_ACCEPT} "image/webp" [or]
Selain itu, saya tidak pasti mengapa mereka memutuskan untuk memasukkan pernyataan if untuk menyemak modul yang mana? (Apakah kelebihan ini, atau bolehkah tag "ifmodule" ini dialih keluar?)
Akhirnya, ini mungkin soalan bodoh - adakah "SSL yang Sangat Mudah" sama dengan/dahulunya dikenali sebagai "Keselamatan Sememangnya Mudah"? Jika ya, patutkah saya mengemas kini .htaccess saya kepada garis panduan SSL .htaccess yang sangat mudah?
Saya harap siaran ini juga membantu orang lain yang cuba mengkonfigurasi tapak web mereka.
Nampaknya saya mereka memutuskan untuk memasang banyak pemalam WordPress yang berbeza, masing-masing menambah bahagian mereka sendiri pada
.htaccess
. Nampaknya tiada siapa yang mengikuti sebarang rancangan untuk membina konfigurasi ini.
ArahanRewriteEngine On
disertakan beberapa kali kerana setiap pemalam ingin memastikan ia ditetapkan. Mempunyai berbilang kenyataan sedemikian tidak membahayakan selain daripada mengambil ruang dan masa pemprosesan.IfModule
ditambahkan oleh pemalam supaya tapak tidak menerima "500 Ralat Pelayan Dalaman" dengan serta-merta apabila modul Apache yang diperlukan tidak didayakan. Peraturan tidak mempunyai kesan tanpa modul, jadi tidak ada gunanya menambah semakan untuk modul apabila anda melaksanakan peraturan anda sendiri pada mesin yang anda tahu modul Apache yang didayakan.Tekaan saya ialah peraturan ini ditambahkan oleh versi lama pemalam dan bukannya diedit secara manual. Mungkin terdapat percubaan untuk menyesuaikan fail, tetapi ini tidak semestinya berlaku.
Saya memberi amaran terhadap penyuntingan berat antara
BEGIN
和END
komen. Pemalam meletakkan teg ini di sana supaya mereka boleh menggantikan peraturan mereka sendiri semasa proses naik taraf. Sebarang perubahan yang anda buat mungkin akan ditimpa pada satu ketika.Saya syorkan menyemak apakah pemalam WordPress yang sebenarnya diperlukan oleh tapak web. Nampaknya mungkin terdapat berbilang pemalam caching yang dipasang dan ia mungkin bercanggah antara satu sama lain. Saya akan mulakan dengan mengurangkan set minimum pemalam yang menyediakan fungsi yang anda perlukan.
Anda harus menaik taraf semua pemalam untuk menampal kemungkinan kelemahan keselamatan dan memastikan bahawa peraturan penulisan semula setiap pemalam juga dikemas kini kepada yang terkini.