Mengapakah peraturan .htaccess dan penulisan semula saya berbeza daripada konfigurasi yang disyorkan?
P粉505450505
P粉505450505 2024-01-16 16:53:10
0
1
448

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.

P粉505450505
P粉505450505

membalas semua(1)
P粉032900484

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.

RewriteEngine On disertakan beberapa kali kerana setiap pemalam ingin memastikan ia ditetapkan. Mempunyai berbilang kenyataan sedemikian tidak membahayakan selain daripada mengambil ruang dan masa pemprosesan.

Arahan

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 BEGINEND 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.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan