Мой htaccess выглядит так:
# Prevent directory listings
Options -Indexes
redirect 301 /old.html http://blablabla.pl/new
redirect 301 /other-page.html http://blablabla.pl/new-page
redirect 301 /xxx.html http://blablabla.pl/zzz
# Prevent visitors from viewing files directly
<FilesMatch "\.(sdb|md|html|txt)$">
<IfModule mod_authz_core.c>
Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
Order deny,allow
Deny from all
</IfModule>
</FilesMatch>
# URL rewrites
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(inc/|themes/|tmp/).*\.(php|html)$ - [F,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]
</IfModule>
Я использую CMS, которые используют html-файлы в качестве шаблонов (есть переменные, php-код и т. д.). В htaccess этой CMS есть правила, запрещающие посетителям просматривать html-файлы напрямую. Я переместил одну страницу на эту CMS и хотел сделать 301 редирект со старых страниц, но он не работает - я получаю ошибку 403 запрещено. Есть ли способ выполнить перенаправление 301 перед другими правилами?
Options
строку и всеFilesMatch
и повторно протестируйте свои правила 301. - person anubhava   schedule 22.09.2017FilesMatch
должен делать? - person anubhava   schedule 22.09.2017