Bagaimana cara memverifikasi modul apa yang aktif di server saya?

8

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
keiki
sumber
Saya pikir Anda memerlukan informasi lebih banyak dari orang yang mengatakan itu. Modul apa? Modul Apache? Apa yang mereka maksud dengan "blok"?
paulmorriss
Maaf, Anda benar, saya telah menambahkan file .htaccess berdasarkan rekomendasi orang tersebut. Saya tidak benar-benar mengerti apa yang mereka maksud dan tidak bisa mendapatkan lebih banyak detail tentang itu dari mereka, itu sebabnya saya bertanya di sini, berpikir bahwa orang-orang dengan lebih banyak pengetahuan daripada saya bisa memahaminya dengan lebih mudah. Sebentar, saya baru sekarang melihat bahwa pertanyaannya telah diedit sebelum diposting - saya harus menggunakan tag kode dalam tag kutipan. Akan segera diedit!
keiki
1
Saya sudah mengoreksi pertanyaan, sekarang rekomendasi berisi semua informasi asli.
keiki
Cara untuk menemukan apa yang aktif tergantung pada server Anda. Beberapa akan ada dalam file http.conf, tetapi yang lain mungkin dimuat secara dinamis. Apakah Anda memiliki semacam panel kontrol, atau apakah Anda memiliki akses ke server itu sendiri?
paulmorriss
Ini adalah situs web Wordpress - jadi saya kira itu adalah server Apache. Saya memiliki akses FTP ke file situs web, detail akses ke CMS LunarPages dan akses ke antarmuka Wordpress.
keiki

Jawaban:

4

Jika PHP dijalankan sebagai modul apache, Anda dapat menggunakan phpinfo()fungsinya. Cari bagian Apache (biasanya apache2handler) dan cari baris dengan "Modul Dimuat":

bagian apache2handler dari phpinfo ()

Lekensteyn
sumber
2
Sayangnya, tidak terdaftar di hosting bersama saya.
Django Reinhardt
2
@ DjangoReinhardt Ada kemungkinan bahwa hosting bersama Anda tidak menggunakan Apache + mod_php, tetapi sebaliknya nginx / Apache / ... dengan php-fpm atau bahkan php-cgi. Cari baris Server API di atas halaman (milik saya mengatakan FPM / FastCGI untuk php-fpm).
Lekensteyn
3

Dengan asumsi Anda maksud modul apache Anda dapat menjalankan di bawah ini untuk mendaftar modul mana yang telah Anda muat:

apachectl -t -D DUMP_MODULES
adonan
sumber
1
-bash: apachectl: command not foundhiks :(
Django Reinhardt
Anda dapat mencoba:find / apachectl | grep apachectl
adonan
1
ModSecurity: Failed to open debug log file: /var/log/apache2/modsec_debug.logthen cat: /var/log/apache2/modsec_debug.log: Permission deniedsob :(
JosiahYoder-deactive kecuali ..
2

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

Dalam operasi normal, arahan tidak perlu ditempatkan dalam beberapa bagian.

http://httpd.apache.org/docs/2.0/mod/core.html#ifmodule

paulmorriss
sumber
1

Pertama-tama, silakan periksa di server untuk semua modul yang berbeda jika mereka diaktifkan, dan setelah itu, hapus <IfModule ...> </IfModule>

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:

ExpiresActive On
ExpiresDefault "access plus 1 seconds"
ExpiresByType text/html "access plus 1 seconds"

jadi Anda tidak memeriksa lagi untuk melihat apakah modul itu diaktifkan karena Anda sudah melakukannya.

Daniel
sumber
0

1) tambahkan saja .htaccess

<ifModule mod_expires.c>
deny from YOUR.IP 


</ifModule>

2) menyegarkan situs web Anda
3) jika Anda kehabisan permainan sekarang, mod_expiresaktif
4) hapus deny from YOUR.IPdari ifModule mod_expires.c

fday
sumber