Php .htaccess用于重定向到子域或应用某些规则
我正在子域上主持一个zend framework项目。比如说,Php .htaccess用于重定向到子域或应用某些规则,php,.htaccess,Php,.htaccess,我正在子域上主持一个zend framework项目。比如说,project.mydomain.com。但是,也可以从mydomain.com/project访问此域。现在,为了避免维护两种不同情况的复杂性,我尝试通过将直接访问的路径重定向到子域来最小化复杂性,即 mydomain.com/project>project.mydomain.com 但是,如果使用子域访问同一目录,那么我希望对其应用一些规则 这是我的currect.htaccess,它允许我使用直接路径,即mydomain.com
project.mydomain.com
。但是,也可以从mydomain.com/project
访问此域。现在,为了避免维护两种不同情况的复杂性,我尝试通过将直接访问的路径重定向到子域来最小化复杂性,即
mydomain.com/project>project.mydomain.com
但是,如果使用子域访问同一目录,那么我希望对其应用一些规则
这是我的currect.htaccess,它允许我使用直接路径,即mydomain.com/project/
RewriteEngine On
# Exclude some directories from URI rewriting
#RewriteRule ^(dir1|dir2|dir3) - [L]
RewriteRule ^\.htaccess$ - [F]
RewriteCond %{REQUEST_URI} =""
RewriteRule ^.*$ /projects/myproject.com/public/index.php [NC,L]
RewriteCond %{REQUEST_URI} !^/public/.*$
RewriteRule ^(.*)$ /projects/myproject.com/public/$1
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /projects/myproject.com/public/index.php [NC,L]
接下来,我将只为子域编写.htaccess。但是,我希望直接访问的路径被重定向到子域。如何通过.htaccess进行重定向
请注意,通过php文件重定向不是一个选项。罗宾,看起来您正在尝试将路径
mydomain.com/projects
重定向到projects.mydomain.com
。所以,我认为这不会被合并。htaccess。正如您所需要的,从/projects/your anotherproject
到projects.mydomain.com/your anotherproject
,几乎所有内容都必须重定向到projects.mydomain.com/your anotherproject
。为每个项目重写htaccess是个坏主意
如果是这种情况,那么我建议在项目
根目录上使用一个简单的.htaccess
RewriteEngine On
RedirectMatch 301 ^/projects/(.*)$ http://projects.mydomain.com/$1
这将解决该子域上所有子目录的所有情况。现在,在项目的根目录中编写特定于项目的
.htaccess
,就像上面所做的那样,Robin,看起来您正在尝试将路径mydomain.com/projects
重定向到projects.mydomain.com
。所以,我认为这不会被合并。htaccess。正如您所需要的,从/projects/your anotherproject
到projects.mydomain.com/your anotherproject
,几乎所有内容都必须重定向到projects.mydomain.com/your anotherproject
。为每个项目重写htaccess是个坏主意
如果是这种情况,那么我建议在项目
根目录上使用一个简单的.htaccess
RewriteEngine On
RedirectMatch 301 ^/projects/(.*)$ http://projects.mydomain.com/$1
这将解决该子域上所有子目录的所有情况。现在在项目的根目录中编写特定于项目的.htaccess
,就像上面所做的那样