使用.htaccess将子域名重定向到特定目录

3

我之前遇到了一个问题,问了这个问题:PHP使用POST上传图片

后来我发现问题的原因是我的域名重定向。我在域名面板中使用了一个重定向(服务器仿真),该重定向无法处理文件上传。

通过搜索解决方案,我找到了这个:使用htaccess进行子域目录重定向

我启用了mod_rewrite模块并尝试使用以下.htacces文件:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^subdomain\.domain\.de$
RewriteRule ^(.*)$ http://domain.de/sub/directories/$1 [R=301,L]

subdomain.domain.de有一个A-DNS条目,设置为我的服务器的IP地址。我的服务器根目录需要身份验证,但我想让子域指向的目录不需要身份验证。我不确定重定向是否起作用,但当我打开子域时,它要求进行身份验证。

如何在不需要用户身份验证的情况下将子域重定向到服务器上的另一个目录?


你的身份验证怎么样?是使用HTTP基本身份验证吗? - Ngô Văn Thao
是的,这是使用Apache配置文件在sites-available直接进行基本HTTP身份验证。我的.htaccess文件除了上面提到的内容之外什么也没有,并且它放置在根目录中。在我上面的代码中命名为“sub”的子目录也没有身份验证,就像在Apache配置文件中设置的那样。 - angeloid
您可以根据自己的需求尝试修改此答案:http://stackoverflow.com/a/7390331/1163642 - Vignesh T.V.
2个回答

1
在这种情况下,您必须使用virtualHost来处理子域名,因为基本的HTTP身份验证是在htaccess之前执行的。
另一种方法是,在RewriteRule之后的htacess文件中配置基本的HTTP身份验证,不要在apache配置文件中进行配置。

谢谢你的回答。我使用虚拟主机使它工作了。 - angeloid

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接