设置子域指向一个文件夹使用htaccess
问题描述:
嗨,大家好我已经建立了一个网站使用zend框架和使用干净的网址 - 但是我需要设置一个子域,使其指向我的网站上只有一个文件夹即我想要的子域admin.mysite.com
指向mysite.com/admin
和我想要做的是用我的htaccess文件设置子域指向一个文件夹使用htaccess
编辑-------
这是我htaccess文件:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule (.*) http://www.mysite.com/$1 [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
RewriteRule !\.(js|ico|gif|jpg|png|css|htm|html)$ index.php
RewriteCond %{REQUEST_URI} !^/admin
RewriteCond %{HTTP_HOST} ^admin
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ admin/$1 [L]
AddType text/css .css
AddHandler php5-script .php
答
尝试上述现有的URL rerwites是这样的:
RewriteCond %{HTTP_HOST} ^admin
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ admin/$1 [L]
编辑:为了防止它被解释为一个Zend Frameowrk controlleradd上述现有RewriteCond
S中的以下,以防止它改变你的管理员网址:
RewriteCond %{REQUEST_URI} !^/admin
而且我认为应该照顾一切。
编辑:你.htaccess
文件应该看起来更像以下,虽然我不认为任何的变化会涉及到你的403错误,但也许我们会得到幸运。如果不是的话,我会不断思考可能会导致这种情况的原因。
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysite.com [NC]
RewriteRule (.*) http://www.mysite.com/$1 [L,R=301]
# Don't rewrite requests on admin subdomain to the Zend Framework handler
RewriteCond %{HTTP_HOST} !^admin
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .* index.php
RewriteCond %{HTTP_HOST} !^admin
RewriteRule !\.(js|ico|gif|jpg|png|css|htm|html)$ index.php [L]
RewriteCond %{HTTP_HOST} ^admin
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ admin/$1 [L]
AddType text/css .css
AddHandler php5-script .php
答
在管理.mysite.com“/”可以将符号链接到“/ admin”
答
子域admin.mysite.com使用指令重定向。
Redirect permanent/http://mysite.com/admin
或者你可以使用代理服务器:
ProxyPass/http://mysite.com/admin
ProxyPassReverse/http://mysite.com/admin
ProxyPreserveHost on
我不想管理员文件夹来作为控制器来处理 - 实际上我的管理面板是不同的应用程序,所以我希望它independantly运行。我的老主机有一个真正简单的面板来创建子域名,但在我的新主机上,我必须写在一个htaccess文件:( – Ali 2010-06-27 07:31:11
啊,现在我已经更新了答案,你可以试试看看它是否有效。 – 2010-06-27 07:40:58
我得到了一个奇怪的原因403错误?我的管理文件夹是在我的public_html文件夹... – Ali 2010-06-27 08:09:16