.htaccess中的虚拟主机

时间:2016-06-18 10:13:48

标签: apache .htaccess

我想在我的托管上设置Polr Project,它本质上是一个自托管的URL缩短程序。在installation guide中,它表示我需要在httpd-vhosts.conf中设置虚拟主机。我无法访问该文件,所以我不知道如何让它工作。我看过一些关于如何做这样的事情的博客文章,但它似乎没有帮助。

Virtual Host Snippet:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias example.com

    DocumentRoot "/var/www/polr/public"
    <Directory "/var/www/polr/public">
        Require all granted
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

我试过这个(但失败了):

RewriteCond %{HTTP_HOST} MY_DOMAIN.com
RewriteCond %{REQUEST_URI} !^/public
RewriteRule ^(.*)$ public/$1 [L]

提前致谢。

1 个答案:

答案 0 :(得分:0)

您无法在.htaccess中设置虚拟主机,如<VirtualHost>指令

所示
  

上下文:服务器配置

但是也没有必要设置虚拟主机,因为您的网络托管服务提供商已经这样做了。

您只需要按照描述在文档根目录中安装Polr,然后就完成了。

重写规则可以简化为

RewriteRule !^public$ /public%{REQUEST_URI} [L]

如果您已将其安装在某个子目录中,例如polr,规则是

RewriteRule !^polr/public$ /polr/public%{REQUEST_URI} [L]