Почему этот мод не перезаписывает триггер? (обновление: относительный и абсолютный путь перезаписи) - PullRequest
0 голосов
/ 10 февраля 2020

У меня есть .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 терпит неудачу?

1 Ответ

0 голосов
/ 10 февраля 2020

при написании вопроса; Я обнаружил, что помещение кода в root путь .htaccess и затем удаление папки, указывающей c .htaccess (важная часть, которую я пропустил раньше), казалось решить проблему.

Похоже, что указанная папка c .htaccess не любит перезаписей с абсолютным путем.

...