У меня есть .htaccess
:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^contact/([a-zA-Z]*)/([0-9]*)/?$ /contact/new.php?unit_id=$2&unit_type=$1 [NC,L]
Я проверил это по двум онлайн-валидаторам htaccess ( один здесь ) и не могу понять, почему он не срабатывает.
Попытка URL:
https://morris.website.co.uk/contact/ee/1302
Переход на страницу 404 не найдена.
Но при ручной установке URL-адреса
https://morris.website.co.uk/contact/new.php?unit_id=1302&unit_type=ee
Работает правильно.
The .htaccess
находится в подпапке (/contact
)
Папка root .htaccess
не имеет каких-либо других соответствующих модификаций мода, но она устанавливает страницы ошибок и некоторые другие глобальные настройки:
ErrorDocument 400 /index.php
ErrorDocument 401 /index.php
ErrorDocument 403 /index.php
ErrorDocument 404 /index.php
Options -Indexes
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Header always set Strict-Transport-Security "max-age=31536000;" "expr=%{HTTPS} == 'on'"
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]
RewriteCond %{REQUEST_URI} !^$
RewriteCond %{REQUEST_URI} !^/
RewriteRule .* - [R=403,L]
- Я попытался поместить строки перезаписи в root .htaccess, но это ничего не изменило.
Я уверен, что это глупо, но я просто не понимаю, почему /contact/.htaccess
терпит неудачу?