.htaccess 根据URL为多个Vue路由器应用程序进行HTACCESS重定向

.htaccess 根据URL为多个Vue路由器应用程序进行HTACCESS重定向,.htaccess,vue.js,.htaccess,Vue.js,在apache服务器上使用vue路由器运行三个vue.js应用程序 HTACCESS将所有不存在的路径重定向到/folder1/index.html。现在,我想在用户访问/folder2/success>/folder2/index.html而不是folder1/index.html时包含一个重定向 我当前的HTACCESS文件如下所示,但是它不工作,它仍然重定向到folder1 <IfModule mod_rewrite.c> RewriteEngine On RewriteBas

在apache服务器上使用vue路由器运行三个vue.js应用程序

HTACCESS将所有不存在的路径重定向到/folder1/index.html。现在,我想在用户访问/folder2/success>/folder2/index.html而不是folder1/index.html时包含一个重定向

我当前的HTACCESS文件如下所示,但是它不工作,它仍然重定向到folder1

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder1/index.html [L]
RewriteRule /folder2/success /folder2/index.html [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.html$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/folder1/index.html[L]
重写规则/folder2/success/folder2/index.html[L]

非常坚持这一点,如有任何建议,将不胜感激

规则按写入顺序执行。由于
/folder/success
不作为文件或目录存在,因此会将其重写为
/folder/index.html
,这与
/folder2/success
的规则不匹配

此外,由于它位于.htaccess文件中,因此它位于该文件夹的上下文中。该文件夹的前缀总是从url中匹配的部分删除,这意味着匹配的部分从不以斜杠开始。您应该与
folder2/success
匹配

您的.htaccess文件如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]

RewriteRule ^folder2/success /folder2/index.html [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /folder1/index.html [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.html$-[L]
重写规则^folder2/success/folder2/index.html[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/folder1/index.html[L]

谢谢!这解决了它,我想它可能是按照写的顺序执行的。“^”的作用是什么?
RewriteRule
的第一个参数是用于对照url进行测试的正则表达式<代码>^与字符串开头匹配。例如,使用
^
可以防止规则与
example.com/random/folder2/success
匹配。