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

时间:2010-06-27 07:19:11

标签: .htaccess

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

3 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尝试使用现有网址重新设置的内容:

RewriteCond %{HTTP_HOST} ^admin
RewriteCond %{REQUEST_URI} !^/admin
RewriteRule ^(.*)$ admin/$1 [L]

修改:为防止将其解释为Zend Frameow,您可以控制现有RewriteCond以上的内容,以防止其转换​​您的管理网址:

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

答案 2 :(得分:0)

在子域名admin.mysite.com上使用指令Redirect。

Redirect permanent / http://mysite.com/admin

或者您可以使用代理:

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