Проведя день, документируя, как на самом деле работают файлы .htaccess, я наконец-то смог решить мою проблему с помощью следующего файла, вдохновленного файлом Абхишека Гурджара:
Options +FollowSymLinks
RewriteEngine On
RewriteBase /s
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^joe\.mydomain\.fr$ [NC]
RewriteCond %{HTTP_HOST} !^lab\.mydomain\.fr$ [NC]
RewriteCond %{HTTP_HOST} !^blog\.mydomain\.fr$ [NC]
RewriteCond %{REQUEST_URI} !/joe
RewriteCond %{REQUEST_URI} !/lab
RewriteRule ^(.*)$ http://www.mydomain.fr/blog/$1 [R=301]
</IfModule>
К вашему сведению, 3первые строки обязательны для моего провайдера 1 & 1, по-видимому ...
Я изменил REQUEST_URI из ! ^ joe (. *) и ! ^ lab (. *) до ! / Joe и ! / Lab , а затем исключая URL-адрес blog.mydomain.fr, чтобы избежать проблем с blog.mydomain.fr/joe или blog.mydomain.fr / lab, если когда-нибудь я их использую.
Наконец, мне пришлось перенаправить свои субдомены в моем клиентском интерфейсе 1 & 1 на подпапки моего веб-пространства вместо жесткого URL, что означает:
Эта конфигурация теперь позволяет мне вводить URLнапример, joe.mydomain.fr?dnt=1 при получении перенаправления на http://www.mydomain.fr/joe?dnt=1, что я и хотелo do.
Надеюсь, это поможет другим. Спасибо за помощь.