.htaccess 使用htaccess设置指向文件夹的子域

.htaccess 使用htaccess设置指向文件夹的子域,.htaccess,.htaccess,大家好,我已经使用zend框架和干净的URL建立了一个网站-但是我需要设置一个子域,使其只指向我网站上的一个文件夹,即我希望子域admin.mysite.com指向mysite.com/admin,我想使用我的htaccess文件来完成 编辑------- 这是我的htaccess文件: RewriteEngine on RewriteCond %{HTTP_HOST} ^mysite.com [NC] RewriteRule (.*) http://www.mysite.com/$1 [L,

大家好,我已经使用zend框架和干净的URL建立了一个网站-但是我需要设置一个子域,使其只指向我网站上的一个文件夹,即我希望子域
admin.mysite.com
指向
mysite.com/admin
,我想使用我的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

在admin.mysite.com“/”上,您可以符号链接到“/admin”

在现有URL地址上方尝试以下操作:

RewriteCond %{HTTP_HOST} ^admin
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ admin/$1 [L]
编辑:为了防止它被解释为Zend Framework控制器,请在现有的
RewriteCond
s上添加以下内容,以防止它转换管理员URL:

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

在子域admin.mysite.com上使用指令重定向

Redirect permanent / http://mysite.com/admin
或者您可以使用代理:

ProxyPass / http://mysite.com/admin
ProxyPassReverse / http://mysite.com/admin
ProxyPreserveHost on

我不希望管理员文件夹被视为一个控制器-实际上我的管理员面板是一个不同的应用程序,所以我希望它独立运行。我的旧主机有一个真正简单的面板来创建子域,但在我的新主机上,我必须在htaccess文件中写入:(啊,明白了。我现在已经更新了答案,你可以试试看它是否有效。出于某种奇怪的原因,我出现了403错误?我的管理员文件夹在我的公共html文件夹中…而你的
.htaccess
文件在你的
公共html
文件夹中,对吗?是的,没错..其他一切都正常..让我看看htaccess文件