Bukan untuk melindungi kata sandi php di Apache

Saya telah menginstal Apache httpd di CentOS 7. Dengan menambahkan kode berikut di httpd.conf, saya dapat melindungi situs web saya dengan kata sandi

<Directory /var/www/html>
  AuthType Basic
  AuthName "Restricted Files"
  AuthBasicProvider file
  AuthUserFile /var/www/password/htpasswd
  Require user validUser

  <Files index.php>
    Require all granted
  </Files>
</Directory>

Karena saya ingin /var/www/html/index.php tidak dilindungi kata sandi, Require all granted ditambahkan seperti yang ditunjukkan. Namun, ini masih memerlukan nama pengguna dan kata sandi saya. Mohon bantuannya, terima kasih ^^


person chunchiu Chan    schedule 24.09.2015    source sumber


Jawaban (1)


Jangan lindungi seluruh direktori tetapi lindungi menggunakan LocationMatch:

<LocationMatch "^/(?!index\.php).|index\.php.+$">
  AuthType Basic
  AuthName "Restricted Files"
  AuthBasicProvider file
  AuthUserFile /var/www/password/htpasswd
  Require user validUser
</LocationMatch>
person Matthias Wimmer    schedule 24.09.2015
comment
Terima kasih telah menjawab, tapi maaf tidak berhasil. Karena ada beberapa halaman pribadi di bawah /var/www/html, saya hanya mengizinkan akses index.php tanpa otentikasi. Itu sebabnya saya melindungi seluruh direktori. - person chunchiu Chan; 24.09.2015
comment
Ya, saya mengerti. LocationMatch melindungi semuanya kecuali /index.php. - person Matthias Wimmer; 24.09.2015
comment
Terima kasih teman. Saya akhirnya mencari tahu apa yang salah. Saya sekarang menggunakan wordpress dan semua sub-folder dilindungi. Ketika saya mengakses index.php, konten yang dilindungi itu diakses, jadi sepertinya index.php juga dilindungi kata sandi. - person chunchiu Chan; 29.09.2015