大家好我已经使用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
答案 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