E コマース Web サイトを検索エンジン最適化しようとしています。このウェブサイトは、Wordpress プラットフォームで WooCommerce プラグインを使用しています。さらに、ユーザーがサイトで直接支払うことができるようにする authorize.net ゲートウェイがあります。これは、サイトに SSL 証明書が必要であることを意味します。
SEO の理由から、サイトを HTTP プロトコルで動作させたい/必要としていますが、支払いゲートウェイ ページ (/cart、/my-account、/checkout など) は例外で、HTTPS プロトコルを使用する必要があります。
現在、次のコードがあります。
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/cart/
RewriteCond %{REQUEST_URI} !^/checkout/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
このコードでは、いくつかの問題が発生しています。まず、「カート」ページにアクセスすると、https にリダイレクトされませんが、チェックアウト ページはリダイレクトされます。
次に、チェックアウト ページが読み込まれるときに、ホストされているコンテンツ (Css、JS、img など) の一部が読み込まれません。これは、同じ https プロトコルで動作していないためだと思います。これを修正するにはどうすればよいですか?
第三に、 https://mydomain.com/somepageを使用してサイトに手動でアクセスすると、 http://mydomain.com/somepageバージョンに 301 リダイレクトされません。
これらすべてにより、上記のコードが正しく記述されていないと信じるようになります。誰にもアイデアはありますか?SEO は重要であるため、表示する必要がある唯一のページは http:// ページです (私が指定したものを除く)。https バージョンが 301 リダイレクトされて http://
これが私のhtaccessファイルが今どのように見えるかです-
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
RewriteCond %{HTTPS} on
RewriteCond %{REQUEST_URI} !^/cart/
RewriteCond %{REQUEST_URI} !^/checkout/
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
<FilesMatch "^(wp-comments-post\.php)">
Order Allow,Deny
Deny from xx.xxx.xx.
Deny from xx.xxx.xx.
Deny from xx.xxx.xx.
Allow from all
</FilesMatch>