Saat mencoba menyelesaikan masalah di situs web saya, rekomendasi tentang file .htaccess yang saya dapatkan adalah
Pertama-tama, periksa pada server untuk semua modul yang berbeda jika mereka diaktifkan, dan setelah itu, hapus
<IfModule
...></IfModule>
blok. Mereka memberikan tekanan yang tidak perlu pada server Anda.
Saya tidak tahu di mana saya harus melihat untuk melihat apakah modul aktif - apakah itu di CMS? dalam file httpd.conf? dalam file di server saya? haruskah saya membuat sedikit modifikasi dalam .htaccess sebagai ujian? Tetapi lebih dari itu, bisakah rekomendasi itu tidak tepat? Terima kasih.
Berikut adalah file .htaccess yang rekomendasinya telah dibuat:
Options +FollowSymLinks -MultiViews
RewriteEngine on
AddHandler x-httpd-php .html .htm
<ifModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</ifModule>
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"
ExpiresByType image/gif "access plus 2592000 seconds"
ExpiresByType image/jpeg "access plus 2592000 seconds"
ExpiresByType image/png "access plus 2592000 seconds"
ExpiresByType text/css "access plus 2592000 seconds"
ExpiresByType text/javascript "access plus 216000 seconds"
ExpiresByType application/x-javascript "access plus 216000 seconds"
</ifModule>
<ifModule mod_headers.c>
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(css)$">
Header set Cache-Control "max-age=2592000, public"
</filesMatch>
<filesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesMatch>
<filesMatch "\\.(xml|txt)$">
Header set Cache-Control "max-age=216000, public, must-revalidate"
</filesMatch>
<filesMatch "\\.(html|htm|php)$">
Header set Cache-Control "max-age=1, private, must-revalidate"
</filesMatch>
</ifModule>
<ifModule mod_headers.c>
Header unset ETag
</ifModule>
FileETag None
<ifModule mod_headers.c>
Header unset Last-Modified
</ifModule>
RewriteCond %{HTTP_HOST} !^(www\.)?foo\.com$
RewriteRule .? http://foo.com%{REQUEST_URI} [R=301,L]
#BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
</IfModule>
# END WordPress
Jawaban:
Jika PHP dijalankan sebagai modul apache, Anda dapat menggunakan
phpinfo()
fungsinya. Cari bagian Apache (biasanyaapache2handler
) dan cari baris dengan "Modul Dimuat":sumber
Dengan asumsi Anda maksud modul apache Anda dapat menjalankan di bawah ini untuk mendaftar modul mana yang telah Anda muat:
sumber
-bash: apachectl: command not found
hiks :(find / apachectl | grep apachectl
ModSecurity: Failed to open debug log file: /var/log/apache2/modsec_debug.log
thencat: /var/log/apache2/modsec_debug.log: Permission denied
sob :(Jika Anda tidak memiliki modul-modul yang dimuat maka itu tidak akan merusak apa pun di situs Anda, itu hanya tidak akan memiliki pengaturan kontrol cache terbaik. Jadi, tinggalkan ifmodules karena Anda bahkan tidak bisa memuatnya jika tidak dimuat. Situs web apache mengatakan
http://httpd.apache.org/docs/2.0/mod/core.html#ifmodule
sumber
Tentang kueri Anda: Anda perlu memeriksa apakah modul-modul tersebut diaktifkan di server, dan jika ya, Anda dapat menghapus kondisi if dari htaccess:
mis. jika modul mod_expires.c diaktifkan maka Anda dapat menghapus
<IfModule mod_expires.c></IfModule>
dan Anda hanya akan menyimpan bagian ini:jadi Anda tidak memeriksa lagi untuk melihat apakah modul itu diaktifkan karena Anda sudah melakukannya.
sumber
1) tambahkan saja
.htaccess
2) menyegarkan situs web Anda
3) jika Anda kehabisan permainan sekarang,
mod_expires
aktif4) hapus
deny from YOUR.IP
dariifModule mod_expires.c
sumber