Как переписать правила для двух подпапок, используя 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]