
eu tenho 2 arquivos .htaccess
primeiro em /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]
e o outro arquivo está em /public_html/jobs/
RewriteOptions inherit
DirectoryIndex index.php
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_URI} ((\d+)?)
RewriteRule ((\d+).*?) /job/index.php?JobID=$2 [QSA]
quero redirecionar o URL de:
https://example.com/jobs/123
para:
https://example.com/job/index.php?JobID=123&lang=en
mas o resultado é
https://example.com/job/?JobID=1196147
sem o parâmetro lang
não sei por que não está funcionando e preciso das regras em 2 arquivos porque há muitas outras regras no arquivo raiz
Obrigado.
Responder1
Acabei de ter o mesmo problema - resolvi-o usando RewriteOptions InheritBefore
em vez de apenas RewriteOptions Inherit
o arquivo .htaccess no diretório pai ser processado antes daquele no subdiretório