Tôi muốn cho phép người dùng chỉ có thể truy cập index.php
(và cũng chỉ /
) trên máy chủ của tôi và không có gì khác (trả về 403 nếu hợp lệ và 404 nếu tệp không hợp lệ).
Tôi có thể làm cái này như thế nào? Tôi đã thử các giải pháp sau
Từ chối quyền truy cập vào tất cả các tệp ngoại trừ index.html apache
Từ chối quyền truy cập vào tất cả các tệp ngoại trừ index.php nhưng cho phép truy cập thông qua "/" trong tệp htaccess
nhưng dường như chúng không có tác dụng gì.
Tệp .htaccess của tôi là thế này, nhưng nó không có tác dụng và tôi vẫn có thể truy cập các tệp khác trên máy chủ của mình:
Lệnh cho phép, từ chối
Tư chôi tât cả
<FilesMatch index\.php>
cho phép từ tất cả
</FilesMatch>
Tôi không chắc liệu mình có cần xác định bất cứ điều gì trong cấu hình máy chủ ảo của mình không?
Tệp máy chủ ảo của tôi là:
Quản trị viên web ServerAdmin@localhost
Tên máy chủ server.mydomain.com
ServerAlias server.mydomain.com
DocumentRoot /var/www/server.mydomain.com
Directory Index index.php
Nhật ký lỗi ${APACHE_LOG_DIR}/error.log
Nhật ký tùy chỉnh ${APACHE_LOG_DIR}/access.log kết hợp
SSLCertificateFile /etc/letsencrypt/live/server.mydomain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/server.mydomain.com/privkey.pem
Bao gồm /etc/letsencrypt/options-ssl-apache.conf
apache2ctl -S đầu ra là:
Cấu hình máy chủ ảo:
*:443 server.mydomain.com (/etc/apache2/sites-enabled/server.mydomain.com-le-ssl.conf:2)
*:80 server.mydomain.com (/etc/apache2/sites-enabled/server.mydomain.com.conf:1)
ServerRoot: "/etc/Apache2"
Tài liệu chínhRoot: "/var/www/html"
Nhật ký lỗi chính: "/var/log/apache2/error.log"
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex mặc định: dir="/var/run/apache2/"cơ chế=mặc định
Mutex mpm-accept: using_defaults
Mutex watchdog-callback: using_defaults
Mutex ssl-stapling-refresh: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Xác định: DUMP_VHOSTS
Xác định: DUMP_RUN_CFG
Người dùng: name="www-data" id=33
Nhóm: name="www-data" id=33