htaccess: .htaccess en el subdirectorio no hereda .htaccess en el directorio raíz

htaccess: .htaccess en el subdirectorio no hereda .htaccess en el directorio raíz

tengo 2 archivos .htaccess

primero en /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]

y el otro archivo está en /public_html/jobs/

RewriteOptions inherit
DirectoryIndex index.php
RewriteEngine on
RewriteBase /

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

quiero redirigir la URL desde:

https://example.com/jobs/123

a:

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

pero el resultado es

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

sin el parámetro lang

No sé por qué no funciona y necesito las reglas en 2 archivos porque hay muchas otras reglas en el archivo raíz

Gracias.

Respuesta1

Acabo de tener el mismo problema: lo resolví usando, RewriteOptions InheritBeforeen lugar de RewriteOptions Inherithacerlo, el archivo .htaccess en el directorio principal se procesó antes que el del subdirectorio.

información relacionada