gpt4 book ai didi

Apache 重写规则不适用于 angularjs

转载 作者:行者123 更新时间:2023-12-02 07:41:49 24 4
gpt4 key购买 nike

我正在尝试使用 AngularJS 设置 apache 2.2,其结构几乎与以下封闭问题中的结构完全相同。

rewrite rules for apache 2 to use with angular js

我想将所有请求重定向到 app/index.html,除了对/api 的请求。

我的目录结构如下

  • /
  • /应用程序
  • /app/index.html
  • /app/css
  • /app/js
  • /api

我正在尝试在 httpd-vhosts 文件中应用这些重定向规则,该文件已作为正确答案发布 https://stackoverflow.com/a/15284848/671095回答这个问题。

<VirtualHost *:80>
ServerName www.test.com
DocumentRoot "C:/websites/test"
Alias /CFIDE "C:/websites/CFIDE"

RewriteEngine On

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteCond %{REQUEST_URI} !/api

# otherwise forward it to index.html
RewriteRule ^.*$ - [NC,L]
RewriteRule ^app/. /app/index.html [NC,L]

</VirtualHost>

但是,当我尝试在浏览器中访问/时,我会看到一个空白屏幕。如果我在浏览器中输入/app/index.html ,我可以在浏览器中查看 html 页面,但无法访问任何 css.or js 并返回 404。

我一直对此感到疯狂,这似乎是作为 apache 重写来完成的一件简单的事情。

任何帮助将不胜感激

最佳答案

现在在 Apache 2.2.16+ 中使用 FallbackResource 指令变得更加容易。

FallbackResource /app/index.html

http://httpd.apache.org/docs/2.2/mod/mod_dir.html#fallbackresource

根据您转发对 API 的访问权限的方式,您可能还需要利用附件来专门针对 API 请求 (2.2.24+) 禁用后备资源。

<Directory /api>
FallbackResource disabled
</Directory>

关于Apache 重写规则不适用于 angularjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15385659/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com