htaccess -. htaccess в подкаталоге, не наследующий .htaccess в корневом каталоге

У меня есть 2 файла .htaccess

, сначала в / public_html /

#ErrorDocument 404 https://example.com/en/404.php
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://example.com/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !/ws/
RewriteCond %{REQUEST_URI} !/en/
RewriteCond %{REQUEST_URI} !/ar/
RewriteCond %{QUERY_STRING} !lang=en
RewriteCond %{QUERY_STRING} !lang=ar
RewriteRule (.*) $1?lang=en [QSA]

, а другой файл находится в / public_html / jobs /

RewriteOptions inherit
DirectoryIndex index.php
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_URI} ((\d+)?)
RewriteRule ((\d+).*?)  /job/index.php?JobID=$2 [QSA]

Я хочу перенаправить URL-адрес с:

https://example.com/jobs/123

на:

https://example.com/job/index.php?JobID=123&lang=en

, но результат

https://example.com/job/?JobID=1196147

без параметра lang

, я не знаю, почему он не работает, и я нужны правила в 2 файлах, потому что в корневом файле есть много других правил

Спасибо.

0
задан 25 July 2019 в 23:46
1 ответ

У меня была такая же проблема - я решил ее с помощью RewriteOptions InheritBefore вместо простого RewriteOptions Inherit, поэтому файл .htaccess в родительском каталоге был обработан раньше, чем в подкаталоге

1
ответ дан 27 October 2020 в 08:59

Теги

Похожие вопросы