1

.htaccess ファイルで次のコードを使用してアプリケーションをリダイレクトしています。ページは次のことを行う必要があります。

  1. .php 拡張子を .html に置き換えます
  2. http から https にリダイレクト
  3. www から非 www の URL にリダイレクトする

拡張子 .html は正常に機能しており、http から https にリダイレクトしていますが、問題は www から非 www にリダイレクトすることです。メインの URL では正しく機能していますが、ファイルへの参照があると機能しません。

www.ntestechnologies.com と書くと、https://ntestechnologies.com という希望の URL が表示されますが、www.ntestechnologies.com/index.html と書くと、このhttps://www.ntestechnologies.com/indexが表示されます。 .htmlこの URL に www は必要ありません。ガイドしてください。htaccess ファイルのコードは次のとおりです。

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

RewriteEngine on

RewriteCond %{HTTP_HOST} ^www\.ntestechnologies\.com$
RewriteRule ^/?$ "https\:\/\/ntestechnologies\.com\/$1" [R=301,L]

RewriteRule ^(.*)\.html$ $1.php [nc]
4

2 に答える 2

1

必要なのは 1 つだけRewriteEngine Onです。

HTTP_HOSTまたはREQUEST_URIでは使用できませんRewriteRule。これらの値を取得する必要がある場合は、RewriteCond

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(?:www\.)(.+)
RewriteRule .* https://%1/$0 [R,L]

RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule .* https://%1/$0 [R,L]

これにより、先頭wwwの があれば削除されます。同時に、HTTPS にリダイレクトします。

于 2013-03-05T09:50:48.577 に答える
0
RewriteEngine On

# Redirects from HTTP to HTTPS. We use %{SERVER_PORT} as it's more reliable than %{HTTPS}
RewriteCond %{SERVER_PORT} !^443$
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

# Redirects www.example.com/... to example.com/...
RewriteCond %{HTTP_HOST} ^www\.(.+)
RewriteRule .* https://%1%{REQUEST_URI} [R,L]

RewriteRule ^(.*)\.html$ $1.php [nc]
于 2013-03-05T12:13:11.783 に答える