htaccess - .htaccess im Unterverzeichnis erbt nicht .htaccess im Stammverzeichnis

htaccess - .htaccess im Unterverzeichnis erbt nicht .htaccess im Stammverzeichnis

ich habe 2 .htaccess-Dateien

zuerst in /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]

und die andere Datei ist in /public_html/jobs/

RewriteOptions inherit
DirectoryIndex index.php
RewriteEngine on
RewriteBase /

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

ich möchte die URL umleiten von:

https://example.com/jobs/123

Zu:

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

aber das Ergebnis ist

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

ohne den Parameter lang

ich weiß nicht, warum es nicht funktioniert und ich brauche die Regeln in 2 Dateien, weil es viele andere Regeln in der Stammdatei gibt

Danke.

Antwort1

Ich hatte gerade das gleiche Problem - ich habe es gelöst, indem ich RewriteOptions InheritBeforeanstelle von verwendet habe RewriteOptions Inherit, sodass die .htaccess-Datei im übergeordneten Verzeichnis vor der im Unterverzeichnis verarbeitet wurde

verwandte Informationen