Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何用谷歌应用引擎重写url——HTML5模式不起作用_Angularjs_Spring_Google App Engine_Url Rewriting - Fatal编程技术网

Angularjs 如何用谷歌应用引擎重写url——HTML5模式不起作用

Angularjs 如何用谷歌应用引擎重写url——HTML5模式不起作用,angularjs,spring,google-app-engine,url-rewriting,Angularjs,Spring,Google App Engine,Url Rewriting,我正在使用Angularjs,Java作为我的应用程序。最初我使用tomcat运行我的应用程序。当我运行我的项目时,它将打开URL 所以我将我的基本标签和html5模式配置为 $locationProvider.html5Mode(true); $locationProvider.hashPrefix(''); <base href="/projectname/"> 我参考了很多博客,但仍然对配置感到困惑 我已经在web.xml文件中配置了spring <servlet&

我正在使用Angularjs,Java作为我的应用程序。最初我使用tomcat运行我的应用程序。当我运行我的项目时,它将打开URL

所以我将我的基本标签和html5模式配置为

$locationProvider.html5Mode(true);
$locationProvider.hashPrefix('');
<base href="/projectname/">
我参考了很多博客,但仍然对配置感到困惑


我已经在web.xml文件中配置了spring

<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

调度员
org.springframework.web.servlet.DispatcherServlet
1.
调度员
/

似乎它正在将所有的url请求映射到spring,有什么办法解决这个问题吗?

问题在于刷新页面,如果您要打开基础并单击任何链接,则需要为重写url编写代码

对于运行IIS的应用程序,我们需要添加:

<system.webServer>
    <rewrite>
     <rules> 
      <rule name="Main Rule" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                                 
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/" />
      </rule>
    </rules>
    </rewrite>
</system.webServer>


很抱歉,我从未使用过tomcat

可能重复的@georgeawg。可能重复的@georgeawg我正在使用Java EE重写,它在我使用tomcat时有效,但在我将项目切换到google app engine时,相同的JavaEE重写不起作用。@georgeawg,我找到了,但该帖子没有答案。@Rishi你能解决这个问题吗?如果是这样,建议将您的解决方案作为此问题的答案发布,以更好地帮助社区。如果不是,您可以尝试将requireBase标志设置为false,以根据选择退出基本标记。
WARNING: No file found for: /url
<servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
<system.webServer>
    <rewrite>
     <rules> 
      <rule name="Main Rule" stopProcessing="true">
        <match url=".*" />
        <conditions logicalGrouping="MatchAll">
          <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />                                 
          <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        </conditions>
        <action type="Rewrite" url="/" />
      </rule>
    </rules>
    </rewrite>
</system.webServer>