Как переписать правила для двух подпапок, используя mod_rewrite

Мне нужно сделать что-то вроде этого:

########## SITE 1 
RewriteEngine on 
RewriteBase /mysite1  
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

########## SITE 2
RewriteEngine on 
RewriteBase /mySecondSite   
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA] 

Проблема в том, что я могу использовать только один .htaccess файл, как я использую Helicon ISAPI_Rewrite 3 поверх Windows 2003 Server.

Есть ли способ объединить оба файла.htaccess только в одном из них и заставить их работать правильно?

Я пытался это просто для проверки, если mysite будет работать без RewriteBase, но, похоже, не работает:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^mysite1/(.*)$ index.php?url=$1 [L,QSA] 

Благодарю.

2 ответа

Решение

Попробуй это

RewriteEngine on 
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^mysite1/(.*)$ mysite1/index.php?url=$1 [L,QSA] 
RewriteRule ^mysite2/(.*)$ mysite2/index.php?url=$1 [L,QSA] 

Предполагая, что ваши имена каталогов соответствуют доменным именам, например, www.Файлы mySite.com находятся в каталогах /mySite/ и www.myOtherSite.com имеет свои файлы в /myOtherSite/, тогда вы можете попробовать следующее:

[ISAPI_Rewrite]
RewriteEngine On
RewriteBase /

RewriteCond %{HTTP_HOST}        ^(www\.)?([^.]*)\.com$
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .*    /%2/index.php?url=%{REQUEST_URI} [L,QSA] 
Другие вопросы по тегам