условие / правило перезаписи htaccess для поддоменов

Я хотел бы переписать все индексные файлы, такие как /index в моем поддомене, а также в моем домене. До этого момента не нужно было использовать субдомен. Теперь проблема заключается в правиле перезаписи из файла htaccess. Это переписывает URL-адрес, как в приведенном ниже коде:

 RewriteRule ^index\.(htm|html|php) http://%{HTTP_HOST}/ [R=301,L] RewriteRule ^(.*)/index\.(htm|html|php) http://%{HTTP_HOST}/$1/ [R=301,L] 

Означает, что в домене все индексные файлы будут переписаны. Это хорошо работает, но не в субдомене. Теперь я подумал, что могу просто добавить условие для моего поддомена:

 RewriteCond %{HTTP_HOST} !^subdomain\.example\.com$ RewriteCond %{HTTP_HOST} !^www\. 

но это, к счастью, не работает.

Чтобы дать дополнительную информацию, вот как выглядит URL-адрес:

 http://www.example.com/index and the subdomain: http://subdomain.example.com/index 

С кодом выше URL-адрес будет выглядеть следующим образом:

 http://www.example.com/ and the subdomain: http://subdomain.example.com/index 

Было бы здорово, если бы кто-нибудь мог мне помочь.

Большое спасибо.

ОБНОВИТЬ:

Чтобы дать дополнительную информацию, мне нужно объяснить, как все работает.

В корневом каталоге находится папка для субдомена.

  --> /index.php --> /folderA --> /subdomain /root --> /folderB --> /index.php 

URL-адрес выглядит так:

 http://www.example.com/subdomain/folderA/index 

а также

 http://subdomain.example.com/folderA/index 

Я использую чистый URL, так что это просто index а не index.php и т. Д. Настройки по умолчанию уже скрывают index.php при вызове страницы. Проблема будет в том, когда я буду менять языки, что означает folderA и folderB. Поэтому я читал базовое имя файла и использовал функцию заголовка для перенаправления в правый каталог. Основная проблема заключается в субдомене. В домене он работает хорошо. Просто, когда у меня есть индексная страница из папки с URL-адресом:

 http://subdomain.example.com/folderA/(index will be hidden) 

и зачитает basename (=> index) и будет заголовок для:

 http://subdomain.example.com/folderB/(index will be hidden) 

это будет вызвано проблемой. URL-адрес будет переписан неправильно. Или еще один простой пример:

Наличие кнопки логотипа на всех страницах в root/subdomain/folderA/

Эта кнопка является ссылкой только с: <a href="/index.php">...</a> . URL-адрес страницы будет выглядеть следующим образом: subdomain.example.com/folderA/filexy при нажатии этой ссылки URL-адрес будет переписан на www.example.com/subdomain/folderA/

У вас есть такие правила:

 Options +FollowSymLinks -MultiViews # Turn mod_rewrite on RewriteEngine On RewriteBase / # do nothing if subdomain RewriteCond %{HTTP_HOST} !^subdomain\.example\.com$ [NC] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteRule - [L] RewriteRule ^index\.(htm|html|php) http://%{HTTP_HOST}/ [R=301,L] RewriteRule ^(.*)/index\.(htm|html|php) http://%{HTTP_HOST}/$1/ [R=301,L] 

PS: Хотя я предлагаю взглянуть на директиву DirectoryIndex, а затем вы можете заменить выше код на эту строку:

 DirectoryIndex index.htm index.html index.php 

Попробуй это:

 <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} !^subdomain\.example\.com$ [NC] RewriteRule ^/index\.(htm|html|php)$ http://%{HTTP_HOST}/$1 [NC,R=301,L] </IfModule>