同一个 htaccess 中的两个重写规则

Two rewrite rules in the same htaccess

在我的网络服务器的 www 根文件夹中,我有 2 个文件夹用于 2 个不同的网站

www/firstsite
www/secondsite

为了访问第一个站点的 index.php 文件,我转到 www.firstsite.com/firstProject

为了访问第二个网站的 index.php 文件,我转到 www.secondsite.com/secondProject

我想在根文件夹中放置一个唯一的 htaccess 文件 "www"。这个 htaccess 文件将对两个 webstie 都有一个重写规则。

所以用户会看到 www.firstsite.com 而不是 www.firstsite.com/firstProject

www.secondsite.com 而不是 www.secondsite.com/secondProject

编辑:我使用这个 htaccess 重写 www.firstsite.com 的 url(不要忘记这个网站位于文件夹 www/firstsite:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ firstsite/ [QSA,L]
</IfModule>

Edite:这是答案,谢谢 hjpotter92!

RewriteEngine On 
RewriteCond %{HTTP_HOST} ^(?:www\.)?firstsite\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/firstProject [NC] 
RewriteRule ^(.*)$ /firstProject/ [L] 
RewriteCond %{HTTP_HOST} ^(?:www\.)?secondsite\.com$ [NC] 
RewriteCond %{REQUEST_URI} !^/secondProject [NC] 
RewriteRule ^(.*)$ /secondProject/ [L] 

使用 %{HTTP_HOST} 变量测试您的域名,并根据该变量进行重定向:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?firstsite\.com$ [NC]
RewriteCond %{REQUEST_URI} !^/firstProject [NC]
RewriteRule ^(.*)$ /firstProject/ [L]

类似的规则将适用于您的第二个域。