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

时间:2018-01-21 16:16:47

标签: apache .htaccess redirect mod-rewrite apache2.4

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

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

现在在浏览器中输入域名会让我到达正确的位置,但不会在浏览器的网址栏中看到www.example.com或example.com,而是看到[IP-Address] /示例(例如1.2。 3.4 /实例)。当然,我希望显示域名www.example.com,如果我浏览特定文件,例如/example/folder/index.php我希望(www。)example.com/folder/index.php显示出来。

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

由于

1 个答案:

答案 0 :(得分:0)

您可以使用以下规则:

RewriteEngine on
RewriteBase /

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

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

当请求已经以(?!band/)开头时,

/band/是阻止重定向的负面预测。