【问题标题】:.htaccess HTTPD Conf <location> and <virtualhost>.htaccess HTTPD 配置 <location> 和 <virtualhost>
【发布时间】:2013-03-01 09:17:35
【问题描述】:

叹息...好吧,我已经在这几个小时了。这是我所拥有的:

Centos 6.3
WHM (cPanel) 11.34.1
Apache 2.2
Subversion + mod_dav_svn

如果您不知道,请注意 WHM (cPanel) 管理 httpd.conf 并会在需要时覆盖它。我们可以使用包含 .conf 文件,这些文件在 httpd.conf 期间的某些点被包含

使用帐户“Website.com”我登录到它的 cPanel 并创建了一个子域“server.website.com”。服务器上的用户位置是/home/websitecom,子域位置是/home/websitecom/server。

我在这里有颠覆存储库:/svn/repos/rp1 等。我将其添加到我的 conf 中

<Location /svn/repo1>
    DAV svn
    SVNPath /svn/repos/rp1
</Location>

太棒了!效果很好但是,位置 /svn/repo1 在服务器上的所有主机上都可用,因为 &lt;location&gt; 指令正在读取服务器范围内的 REQUEST_URI。

我只想将&lt;location&gt; 指令限制为 server.website.com 域...!!!这有那么难吗?

在 WHM 中,我使用 pre_virtualhost_global.conf(在虚拟主机声明之前包含在内)并且我已经尝试过:

<directory /home/websitecom/server>
    <location /svn/repo1>
        DAV svn
        SVNPath /svn/repos/rp1
    </location>
</directory>

我收到"location is not allowed here"

我试过了:

<location /svn/repo1>
    Require host server.website.com
    DAV svn
    SVNPath /svn/repos/rp1
</location>

我收到couldn't perform authentication. AuthType not set!

我试过了

<virtualhost server.website.com:80>
    <location /svn/repo1>
        DAV svn
        SVNPath /svn/repos/rp1
    </location>
</virtualhost>

service httpd restart 上没有警告,但它不起作用

请让我知道如何实现特定于主机的&lt;location&gt;...我想要实现的是:

<location /svn/repo1>
    HOST www.example.com
</location>

在共享的命名主机环境中

更新

我也试过 .htaccess:

<location /svn/repo1>
    DAV svn
    SVNPath /svn/repos/rp1
</location>

错误 500 服务器错误 “此处不允许位置”

更新

我已更正 Auth 用法:

AuthType Basic
Require host server.website.com
AuthName "Repository Authentication"
AuthUserFile /svn/repos/rp1.htpasswd
Require valid-user

密码验证有效,但 Require host server.website.com 似乎没有做任何事情!?

【问题讨论】:

    标签: .htaccess apache2 centos cpanel httpd.conf


    【解决方案1】:

    哈!!!

    我在 httpd.conf 中找到了这个

    # To customize this VirtualHost use an include file at the following location
    Include "/usr/local/apache/conf/userdata/std/2/--USER--/--HOST--/*.conf"
    

    于是我在“/usr/local/apache/conf/userdata/std/2/--USER--/--HOST--/svn.conf”中创建了一个文件,内容:

    <location /svn/repo1>
        DAV svn
        SVNPath /svn/repos/rp1
    </location>
    

    这在 cPanel WHM 的上下文中解决了这个问题,但是在基本的 centos apache 服务器上,我仍然想知道是否

    <virtualhost server.website.com:80>
        <location /svn/repo1>
            DAV svn
            SVNPath /svn/repos/rp1
        </location>
    </virtualhost>
    

    还能用吗!?无论如何,目前对我来说不是问题......

    【讨论】:

      猜你喜欢
      • 2013-08-12
      • 2015-12-06
      • 1970-01-01
      • 2020-06-19
      • 2016-12-20
      • 1970-01-01
      • 2016-12-04
      • 2012-10-08
      • 1970-01-01
      相关资源
      最近更新 更多