Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess用于重定向到子域或应用某些规则_Php_.htaccess - Fatal编程技术网

Php .htaccess用于重定向到子域或应用某些规则

Php .htaccess用于重定向到子域或应用某些规则,php,.htaccess,Php,.htaccess,我正在子域上主持一个zend framework项目。比如说,project.mydomain.com。但是,也可以从mydomain.com/project访问此域。现在,为了避免维护两种不同情况的复杂性,我尝试通过将直接访问的路径重定向到子域来最小化复杂性,即 mydomain.com/project>project.mydomain.com 但是,如果使用子域访问同一目录,那么我希望对其应用一些规则 这是我的currect.htaccess,它允许我使用直接路径,即mydomain.com

我正在子域上主持一个zend framework项目。比如说,
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
,就像上面所做的那样