【问题标题】:Does Angular routing work on LAMP serverAngular 路由是否适用于 LAMP 服务器
【发布时间】:2017-07-28 09:28:56
【问题描述】:

我在 http://www.ixwebhosting.com/ 上托管我的 Angular 2 应用程序 它们提供传统的 LAMP 堆栈。

我有这样一条路线:www.mysite.com/myapp/item/:id,它在我的本地 ng 服务环境中运行良好。

www.mysite.com/my-app/ 上的 index.html 页面加载正常 - 但是当我在浏览器中输入 www.mysite.com/my-app/item/1 时它失败了。我怀疑是因为路由首先访问了 Web 服务器 - 由于 Web 服务器在该位置找不到实际的目录或文件,它返回 404。有没有办法配置 Apache 服务器以使用 Angular 路由?

【问题讨论】:

    标签: angularjs .htaccess angular


    【解决方案1】:

    是的,只需将所有请求重定向到一个不存在的文件到 index.html - 像 WP 一样:

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

    当然,这个.htaccess文件应该放在“my-app”文件夹中。

    【讨论】:

    • 但我的 Angular 应用程序位于 www.mysite.com/my-app 目录中 - 那么您将如何重写上述内容?
    • 谢谢,我试过了,还是重定向到根目录的index.html。也许最后一行也需要改变? (重写规则./index.html [L])
    • 谢谢,实际上编辑后的答案对我不起作用。但这确实有效:(RewriteRule ./my-app/index.html [L])
    • 你是把有问题的 .htaccess 放在“my-app”文件夹还是 root 中?
    • 在我的应用里面
    猜你喜欢
    • 1970-01-01
    • 2017-01-25
    • 2017-06-29
    • 2022-07-27
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多