Igo*_*man 9 apache .htaccess spring spring-boot
问题:如何在spring boot中配置.htaccess?
angularjs提供html5Mode,这使您的应用程序使用基于pushstate的URL而不是hashtags.但是,这需要服务器端支持,因为生成的URL也需要正确呈现.
如果您在Apache服务器上运行角度应用程序,则可以在.htaccess文件中轻松添加此规则.
# Apache .htaccess
# angularjs pushstate (history) support:
# See http://www.josscrowcroft.com/2012/code/htaccess-for-html5-history-pushstate-url-routing/
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !index
RewriteCond %{REQUEST_URI} !.*\.(css¦js|html|png) #Add extra extensions needed.
RewriteRule (.*) index.html [L]
</ifModule>
Run Code Online (Sandbox Code Playgroud)
小智 3
Spring Boot 通常用于使用 Java 创建 RESTful Web 服务或 Web 应用程序。与使用 PHP 等技术的传统 Web 开发不同,Apache 和 .htaccess 文件在 Spring Boot 中并不常用。
但是,如果您仍然想在 Spring Boot 中使用 .htaccess,您可以通过执行以下步骤来配置它:
在 Spring Boot 应用程序的 src/main/resources 文件夹中创建一个 .htaccess 文件。
将配置规则添加到要应用于应用程序的 .htaccess 文件。例如,如果要将所有 HTTP 请求重定向到 HTTPS,可以使用以下规则:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Run Code Online (Sandbox Code Playgroud)
将以下依赖项添加到您的 pom.xml 文件中:
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>9.0.43</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
将以下配置添加到您的 application.properties 文件中:
server.tomcat.internal-proxies=.*
Run Code Online (Sandbox Code Playgroud)
此配置告诉 Tomcat 将来自 localhost 的请求视为内部请求,从而允许处理 .htaccess 文件。
请注意,不建议将 .htaccess 与 Spring Boot 一起使用,因为它会影响性能,并且不是 Spring Boot 开发中的标准做法。最好使用 Spring Boot 的内置安全功能和配置选项来处理 Web 请求。
归档时间: |
|
查看次数: |
3050 次 |
最近记录: |