apache - .htaccess - 从域密码保护中排除子域

标签 apache .htaccess symfony mod-rewrite

我在配置 .htaccess 文件时非常糟糕,我需要一些关于我的域和子域访问配置的帮助。我有一个 htaccess 文件,要求用户访问我的域到 Web 根文件夹:

AuthUserFile /home/user/.htpasswd
AuthName "Developers Only"
AuthType Basic
Require valid-user

问题是它需要对我的子域进行身份验证,我不希望它受到保护,因为它是供公共(public)访问的。如何实现?

我的网站根目录位于 /home/user/public_html/web,我的子域根目录位于 /home/user/public_ftp/sites

此外,我在主域的 htaccess 文件中有一个重定向,以强制用户使用 www 访问,我不知道它是否会发生冲突。这是重定向:

DirectoryIndex app.php

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
    RewriteRule (.*) http://www.domain.com/$1 [R=301,L]

    RewriteCond %{ENV:REDIRECT_STATUS} ^$
    RewriteRule ^app\.php(/(.*)|$) %{CONTEXT_PREFIX}/$2 [R=301,L]

    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule .? - [L]

    RewriteCond %{REQUEST_URI}::$1 ^(/.+)(.+)::\2$
    RewriteRule ^(.*) - [E=BASE:%1]
    RewriteRule .? %{ENV:BASE}app.php [L]
</IfModule>

<IfModule !mod_rewrite.c>
    <IfModule mod_alias.c>
        RedirectMatch 302 ^/$ /app.php/
    </IfModule>
</IfModule>

我正在为 PHP 使用 Symfony2,所以这是必需的。

提前感谢您的所有建议。

问候。

最佳答案

这对我有用(只需设置允许的引荐来源,其余的将被拒绝):

SetEnvIfNoCase Referer "^http://example.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://example.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://www.example.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://www.example.com$" locally_linked=1
SetEnvIfNoCase Referer "^http://subdomain.example.com/" locally_linked=1
SetEnvIfNoCase Referer "^http://subdomain.example.com$" locally_linked=1
SetEnvIfNoCase Referer "^$" locally_linked=1

在此之后你可以做:

Order Allow,Deny
Allow from env=locally_linked

关于apache - .htaccess - 从域密码保护中排除子域,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34267736/

相关文章:

apache - 网站 URL 和文件名中的 %20 是否会在任何服务器或浏览器(网络/移动)或操作系统或设备等上造成任何问题?

php - 如何将用户重定向到另一个域 .htaccess

regex - 重定向到其他域但保留键入的域

php - 如何防止使用 .htaccess 或自定义 php.ini 覆盖设置

.htaccess - Codeigniter htaccess 在 ubuntu 16.04 中不起作用

PHP最长执行时间

php - 索引mysql数据库中的所有列是否正确?

symfony - 如何在 Symfony >=2.7 中使用新的目录结构?

symfony - 在实体类中访问 Symfony2 全局参数

php - 显示大量带有类的表单行