Angularjs MODx 子文件夹中的路由提供程序
Angularjs Routeprovider in MODx subfolder
我在 MODx 网站上安装了 angularjs 应用程序 运行。有一些页面 URL like
localhost/www.mysite.com/angularapp/
其中包含应用程序。
URLs inside app look like
localhost/www.mysite.com/angularapp/category/1
base href 设置为 /www.mysite.com/angularapp/
一切正常,但我无法直接访问应用程序的子页面。
如果我在地址栏中键入 localhost/www.mysite.com/angularapp/category/1,我会进入 modx 起始页。但是,如果我通过应用程序转到 link - 它会起作用。
我错过了什么?
谢谢
您必须从默认的 htaccess 友好 URL 重写中排除 angularapp 文件夹并为此添加新规则。包括以下行
RewriteRule ^(angularapp/)(.*)$ index.php?q=&r= [L,QSA]
在友好的 URL 部分之前。然后 angular 应用程序必须与 $_GET['r'] 一起工作。
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q= [L,QSA]
编辑:将 htaccess 代码更改为最终解决方案。
我在 MODx 网站上安装了 angularjs 应用程序 运行。有一些页面 URL like
localhost/www.mysite.com/angularapp/
其中包含应用程序。
URLs inside app look like
localhost/www.mysite.com/angularapp/category/1
base href 设置为 /www.mysite.com/angularapp/
一切正常,但我无法直接访问应用程序的子页面。
如果我在地址栏中键入 localhost/www.mysite.com/angularapp/category/1,我会进入 modx 起始页。但是,如果我通过应用程序转到 link - 它会起作用。
我错过了什么?
谢谢
您必须从默认的 htaccess 友好 URL 重写中排除 angularapp 文件夹并为此添加新规则。包括以下行
RewriteRule ^(angularapp/)(.*)$ index.php?q=&r= [L,QSA]
在友好的 URL 部分之前。然后 angular 应用程序必须与 $_GET['r'] 一起工作。
# The Friendly URLs part
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q= [L,QSA]
编辑:将 htaccess 代码更改为最终解决方案。