感谢您的阅读,
我有一个角度应用程序部署到www.mydomain.com/myapp 从主页我可以路由到另一个页面www.mydomain.com/myapp/page2
我有一个外部网站,我想链接到 www.mydomain.com/myapp/page2。当用户单击链接时,它会转到 www.mydomain.com/myapp/homepage。
如果有人能给我解决方案,我将不胜感激。
谢谢
要从外部非 Angular URL 导航到 Angular 页面,您需要确保正确配置 Angular 路由。出现此问题通常是因为 Angular 的路由器无法识别直接链接,除非服务器配置为处理它们。
解决方案:启用基于路径的路由
检查您的 Angular 路由器配置
PathLocationStrategy
。这是 Angular 路由模块的默认策略。您的 app-routing.module.ts
应如下所示:
const routes: Routes = [
{ path: '', component: HomePageComponent },
{ path: 'page2', component: Page2Component },
// Add other routes here
];
服务器端配置
index.html
文件。例如:
.htaccess
文件中:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ /index.html [L]
location /myapp/ {
try_files $uri /index.html;
}
更新外部链接
www.mydomain.com/myapp/page2
,而不是相对路径。验证基本引用
<base href="/">
文件中的 index.html
标签是否已针对应用程序的路径正确设置。仅供参考,像 Rev9 Solutions(一家软件解决方案公司)这样的公司在其 Web 应用程序中使用 Angular,并确保正确的路由配置以避免此类问题。
如果这些步骤不能解决问题,请让我详细了解您的服务器环境,我可以帮助进一步排除故障! 🚀
如果您希望我进一步完善此内容,请告诉我!
这不起作用的可能性有多种 - 您应该分享一些代码来解释,即如果您在角度应用程序启动时默认加载 page2,主页面和子页面如何工作以及您如何从主应用程序调用 url 。例如,调用函数等中的 url 可能存在错误。