当前位置: 首页 > 面试题库 >

重写与Angular JS一起使用的Apache 2的规则

邹修真
2023-03-14
问题内容

显然,整个网络上都有大量的mod重写讨论和答案。但是,我很难抓住它们。所以我想我会问这里。

这是我当前在example.com根目录下的目录结构

  • 应用/
  • app / index.html(Angular js应用程序的“根”)
  • api(这将是一个用于’api’的symfony 2应用程序。我将从这里从angular发送ajax请求。)

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

例如:

http://example.com/categories/electronics/ipod实际上就像去http://example.com/app/index.html/categories/electronics/ipod

我希望app / index.html部分被隐藏。

然后,对http://example.com/api的请求将出现异常,因为我将需要向这些url路径发出ajax请求。

感谢您提供的所有帮助/指导。


问题答案:

这可以帮助您(将其放入/.htaccess文件中):

Options +FollowSymLinks
IndexIgnore */*
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]

注意: 对于较新的Apache版本,另请参阅下一个答案,该答案使用起来更容易FallbackResource



 类似资料:
  • 编辑:TL;DR 是否有人在angularjs中使用Magento Rest API,并能给我一些关于如何开始使用OAuth的提示? 我正在尝试使用magento Rest API和angularjs。我的问题是我甚至没有让启动endpoint工作。 要计算我使用https://github.com/bettiolo/oauth-signature-js签名: 我尝试了两种不同的方法: 1:使用授

  • dml2select Description:将数据库更新请求转换为只读查询请求,便于执行EXPLAIN Original: DELETE FROM film WHERE length > 100 Suggest: select * from film where length > 100 star2columns Description:为SELECT *补全表的列信息 Original:

  • 问题内容: 我想使用查询字符串成功登录后将用户重定向到另一个页面。如果我复制并粘贴到浏览器的地址栏中,则可以正常工作。但是如果我用 网址看起来像 如何将%3F解码为“?” ?谢谢 问题答案: 它应该是

  • 问题内容: 我想在AngularJS中使用socket.io。我找到了以下工厂: 它在控制器中的使用方式如下: 问题是每次访问控制器时都会添加另一个侦听器,因此当收到一条消息时,将对其进行多次处理。 将socket.io与AngularJS集成的更好的策略是什么? 编辑:我知道我无法在工厂返回任何东西并在那里进行监听,然后在控制器中使用$ rootScope。$ broadcast和$ scope

  • 问题内容: 我希望能够使用Protractor测试我的Angular应用程序。由于我使用RequireJS,因此无法在DOM中使用指令,这就是为什么我使用手动引导Angular的原因。 量角器输出如下错误输出: 错误:在页面上找不到Angular :重试以寻找超出的角度 然后,我意识到量角器文档中有一个警告: 对于使用angular.bootstrap手动引导的应用,Protractor不能立即使

  • 问题内容: 基本上,这就是我要实现的目标。 classname @ address(?)[原始],对象的名称,对象的年龄 问题,被递归调用。 我不能打电话,因为那不是我想要的。我想叫原件。 这个 由于明显的原因而无法正常工作。 我已经精疲力竭了,一旦方法被重写,可以做到这一点吗?即所谓的原始实现? (我的编辑)基本上,我需要的是:覆盖toString以显示’this’对象的两个属性,并且我也想让’