如何将域定向到它在 apache htaccess 中指向的服务器上的子文件夹

How to direct a Domain to a subfolder on the server it points to in apache htaccess

我有一个 Web 服务器,有几个域指向它。我想要一个域,让我们将其命名为 www.example.com 以进入我的 Doc Root 中的文件夹 /example(例如 /var/www/example)。我在我的文档根目录中使用此 .htaccess 代码来执行此操作:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^(www.)?example.com$ [NC]
    RewriteRule ^(/)?$ example [R=301,L]
</IfModule>

现在在浏览器中输入域可以让我到达正确的位置,但我在浏览器的 url 栏中没有看到 www.example.com 或 example.com,而是看到 [IP-地址]/示例(例如 1.2.3.4/示例)。当然,我希望域名 www.example.com 显示出来,如果我浏览到特定文件,例如/example/folder/index.php 我想要 (www.)example.com/folder/index.php 出现。

我已经尝试了一些关于重定向到子文件夹的其他堆栈溢出问题的建议修复,但所有这些似乎都会引发上述不需要的行为。任何帮助将不胜感激。

谢谢

您可以使用这些规则:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^(?:www\.)?example\.com$ [NC]
RewriteRule ^(?!band/).*$ /band/[=10=] [L,NC]

确保使用新的浏览器进行测试。

(?!band/) 是一种否定前瞻,可在请求已经以 /band/.

开始时防止重定向