我需要做这样的事情:
########## 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]
谢谢。
答案1
尝试这个
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]
答案2
假设您的目录名称与域名相对应,例如 www。我的网站.com 的文件位于目录中/我的网站/和 www.我的其他网站.com 的文件位于 /我的其他网站/那么您可以尝试以下操作:
[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]