В моем файле .htaccess есть следующий блок
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
RewriteRule .* - [F]
</IfModule>
Я ожидал бы, что это заблокирует запросы OPTIONS / TRACK и TRACE, но разрешит запросы HTTP.
Когда я просматриваю
myserver.com
Я получаю
Forbidden
You don't have permission to access / on this server.
Однако, когда я посещаю
myserver.com/SubPage
Страница загружается? Это немного странно, и я ожидал бы большей последовательности. Это сайт Wordpress, работающий на реализации Apache / MySQL.
Мой файл .htccess выглядит следующим образом
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
**#RewriteRule %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)**
**#RewriteRule .* - [F]**
</IfModule>
# END WordPress
<IfModule mod_headers.c>
Header set X-XSS-Protection "1; mode=block"
Header always append X-Frame-Options SAMEORIGIN
Header always set Referrer-Policy "same-origin"
Header always set Feature-Policy "microphone 'none'; payment 'none'; sync-xhr 'self' http://myserver.com/"
Header set X-Content-Type-Options nosniff
Header unset X-Powered-By
Header unset X-Pingback
Header unset SERVER
Header set Referrer-Policy: strict-origin-when-cross-origin
</IfModule>
# Protect sensitive files
<FilesMatch "^(wp-config.php|license.txt|readme.html)">
Order Allow,Deny
Deny from all
</FilesMatch>
# protect phpinfo
<Files php-info.php>
Order Deny,Allow
Deny from all
</Files>
# Block User ID Phishing Requests
<IfModule mod_rewrite.c>
RewriteCond %{QUERY_STRING} ^author=([0-9]*)
RewriteRule .* http://www.myserver,com/? [L,R=302]
</IfModule>