実現したいこと
- listフォルダ内にはpagename.html以外にも複数のファイルが存在します。フォルダ内全てにこのルールを適用したいです。
- .htaccessの書き方を教えていただきたいです。
- .htaccess設定以外により良い方法があれば教えていただきたいです。
前提
Google Search Consoleからも指摘があり、SEO的にも問題があるということで改善したいと思い調べていたのですが解決できないので投稿しました。
よろしくお願いします。
.htaccessに追記したコード
# スラッシュが2つあるURLをリダイレクト RewriteEngine On RewriteCond %{REQUEST_URI} ^/list//+(.*)$ RewriteRule ^ /list/%1 [R=301,L]
.htaccessファイル全体
SetEnvIf Request_URI ".*" Ngx_Cache_NoCacheMode=off SetEnvIf Request_URI ".*" Ngx_Cache_StaticMode RewriteEngine on RewriteCond %{HTTP_HOST} ^www.example\.net RewriteRule ^(.*)$ https://example.net$1 [R=301,L] RewriteEngine on RewriteCond %{THE_REQUEST} ^.*/index.html RewriteRule ^(.*)index.html$ https://example.net/$1 [R=301,L] RewriteEngine On RewriteCond %{HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] ErrorDocument 404 /notfound.html #.htmlでphpを実行 AddHandler fcgid-script .html #WebP <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_ACCEPT} image/webp RewriteCond %{REQUEST_FILENAME} (.*)\.(jpe?g|png)$ RewriteCond %{REQUEST_FILENAME}\.webp -f RewriteCond %{QUERY_STRING} !type=original RewriteRule (.+)\.(jpe?g|png)$ %{REQUEST_FILENAME}.webp [T=image/webp,E=accept:1,L] </IfModule> <IfModule mod_headers.c> Header append Vary Accept env=REDIRECT_accept </IfModule> AddType image/webp .webp #アクセス拒否 <Files ~ "^(config\.php)$"> deny from all </Files> # スラッシュが2つあるURLをリダイレクト RewriteEngine On RewriteCond %{REQUEST_URI} ^/list//+(.*)$ RewriteRule ^ /list/%1 [R=301,L]
試したこと
- /list//が含まれるURLが正しい形式にリダイレクトされる方法を調べて.htaccessに追記した。
- 他のリダイレクトルールよりも上に配置してみた(書く順番を4行目からに変えてみました)。
補足情報
Xサーバーを使用しています
どうぞよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。