我的问题是我有一个起作用的子域(sub.mydomain.com)。sub在mydomain.com/sub中加载。
我想要做的是将所有对sub.mydomain.com的请求重定向到mydomain.com。
不知何故,当我是子域时,我似乎不能访问根文件夹(主域)。从mydomain.com/sub到mydomain.com,我可以让它工作。但不是来自子域。
目前我使用的是:RewriteEngine on
RewriteRule ^(.*)/?$ /home/web/webuser/$1 [L]
当访问sub.mydomain.com时,我得到一个500内部服务器错误。
从潜水艇进入主管道有限制吗?(基于权限)或者可能是另一种到达main的方式,可能类似于(../$1)
谢谢
编辑:我只能访问.htaccess。因此在.htaccess文件中不能使用DocumentRoot。符号链接呢?我真的不知道它是做什么的,但我假设它连接两个地点?我找到的唯一启用符号链接(Options +FollowSymlink)的代码--但这一行没有说明要链接什么(也许我全错了)
顺便说一句。感谢你到目前为止的投入!
发布于 2009-11-09 07:08:41
我必须承认我没有完全理解你的问题。你想把sub.mydomain.com/的所有内容都重定向到mydomain.com/吗?在这种情况下,以下内容(放在sub.mydomain.com的配置文件中)可能会起作用:
RewriteEngine On
RewriteRule ^/(.*)$ http://mydomain.com/$1 [R,L]它在客户端重定向,这意味着用户将在浏览器中看到mydomain.com/sub。
编辑:我想我现在明白你的问题了。是的,这是一个权限问题:如果您网站的DocumentRoot是/whatever/sub,那么您不能只通过添加"/..“来访问/whatever。添加到URL。我希望你能理解这是一件好事。:-) mod_rewrite只是更改URL,所以它也不能这样做。
因此,要解决您的问题,您需要更改sub.mydomain.com的目标,或者创建一个符号链接来允许您访问所需的目录(例如,/ DocumentRoot /sub/redir-target -> /whatever)。不过,要小心使用符号链接选项,因为它将在文件系统(/whatever/sub/redir-target/sub/redir-target/...)上创建无限长度的有效目录而有些脚本无法应对这种情况。
EDIT2:代替符号链接,您可能想要创建一个别名,例如,如下所示:
Alias /redir-target /home/web/webuser
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/redir-target/.*$
RewriteRule ^/(.*)$ /redir-target/$1不过,我认为最简单的解决方案是更改DocumentRoot...
https://stackoverflow.com/questions/1698230
复制相似问题