Apache Yii2 |使用htaccess重定向到后端/前端
我正在Apache Yii2 |使用htaccess重定向到后端/前端,apache,.htaccess,yii2,yii2-advanced-app,Apache,.htaccess,Yii2,Yii2 Advanced App,我正在localhost上使用Yii2高级模板,我想在url为localhost/site/admin时将用户重定向到backend/web,在url为localhost/site时使用.htaccess文件重定向到frontend/web 我启用了apacherewrite,并尝试了这些解决方案 但在所有情况下,当url为localhost/site/admin 未找到 在此服务器上找不到请求的URL/site/admin 当url为localhost/site时,我的站点的根目录的内容
localhost
上使用Yii2高级模板,我想在url为localhost/site/admin
时将用户重定向到backend/web
,在url为localhost/site
时使用.htaccess
文件重定向到frontend/web
我启用了apacherewrite
,并尝试了这些解决方案但在所有情况下,当url为
localhost/site/admin
未找到在此服务器上找不到请求的URL/site/admin 当url为
localhost/site
时,我的站点的根目录的内容就会显示给我
现在,项目根目录中的my.htaccess
是:
#防止目录列表
选项-索引
IndexIgnore*/*
#遵循符号链接
选项如下符号链接
重新启动发动机
重写规则^admin(/.+)?$backend/web/$1[L,PT]
重写规则^(+)?$frontend/web/$1
在backend/web
和frontend/web
中:
重新编写引擎打开
#如果存在目录或文件,请直接使用请求
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
#否则,将请求转发到index.php
重写规则。index.php
尽管我通过以下命令通过终端启用了mod\u rewrite
:sudo a2enmod rewrite
但它没有启用,我从
/etc/apache2/apache2.conf
尽管我通过以下命令通过终端启用了mod\u rewrite
:
sudo a2enmod rewrite
但它没有启用,我从
/etc/apache2/apache2.conf
在没有站点的情况下使用它
localhost/admin
不使用
站点
localhost/admin
我不确定,但我相信
RewriteRule^(+.+)admin(+/.+)?$backend/web/$1[L,PT]
应该可以工作。我认为您正在使用上述规则匹配localhost/admin
。请告诉我进展如何。创建2个虚拟主机,通过排除.htaccess
见@MartinDimitrov最后,我注意到尽管我<代码>修改重写通过终端启用,配置文件中没有更改,我手动进行了更改。@MuhammadOmerAslam感谢您的建议,但该站点必须位于共享主机上,我无权构建虚拟主机。如果您位于实时服务器上,您可以使用符号链接
或前端和后端,或者按照此操作,我对此不确定,但是我相信RewriteRule^(.+)admin(/.+)?$backend/web/$1[L,PT]
应该可以工作。我认为您正在使用上述规则匹配localhost/admin
。请告诉我进展如何。创建2个虚拟主机,通过排除.htaccess
见@MartinDimitrov最后,我注意到尽管我<代码>修改重写通过终端启用,配置文件中没有任何更改,我手动进行了更改。@MuhammadOmerAslam感谢您的建议,但该站点必须位于共享主机上,我无权构建虚拟主机。如果您位于实时服务器上,您可以使用符号链接
或前端和后端,或者遵循此操作