私は検索エンジン最適化に取り組んでいます https://pomzen.com を https://www.pomzen.com にリダイレクトしたいのですが。
JHipsterプロジェクトでそれを行うことは可能ですか、それともプロジェクトの外で行われますか?たとえば、TomcatのDNSレコードまたはWeb構成では?
web.xml
configを使用してルートドメインをwww
にリダイレクトするには:プロジェクトを作成し、jar
ライブラリにコンパイルします
Tomcat-redirect
│
├── src
│ └── main
│ └── Java
│ └── TomcatRedirect.Java
└── pom.xml
maven-compiler-plugin
およびcompile-time
依存関係を構成する
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>7</source>
<target>7</target>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
Javaコード実装javax.servlet.Filter
および構成301 redirect
public class TomcatRedirect implements Filter {
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
String domainName = "localhost";
String requestURL =
((HttpServletRequest) request).getRequestURL().toString();
if (!requestURL.contains("www." + domainName)) {
String newRequestURL =
requestURL.replace(domainName, "www." + domainName);
((HttpServletResponse) response).setStatus(301);
((HttpServletResponse) response).setHeader("Location", newRequestURL);
System.out.println("Request: " + requestURL +
" was redirected to: " + newRequestURL);
}
chain.doFilter(request, response);
}
}
IDEでjar
パッケージ目標を使用してMaven
ファイルにプロジェクトをビルドします
jar
ファイルをTomcat lib
フォルダにコピーします
フィルター登録とマッピングをTomcat web.xml
のconf
フォルダーに追加します
<!-- =========================== Filter ================================= -->
<filter>
<filter-name>TomcatRedirect</filter-name>
<filter-class>TomcatRedirect</filter-class>
</filter>
<filter-mapping>
<filter-name>TomcatRedirect</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<!-- =========================== Filter ================================= -->