я должен предоставить некоторую информацию о моем веб-сайте.
У меня есть статическая веб-страница в корне.
WordPress установлен в подзаносе www.domain.com/blog/
У меня два .htaccess, один в корне и один в папке wordpress.
я хочу
Некоторые примеры
domain.tld / index.html >> domain.tld /
domain.tld / file.html >> domain.tld / file /
domain.tld / file.html / >> domain.tld / file /
domain.tld / wordpress / post-name >> domain.tld / wordpress / post-name /
Мой код в ROOT htaccess
<IfModule mod_rewrite.c> Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / #removing trailing slash RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)/$ $1 [R=301,L] #www to non RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?domain\.com)$ [NC] RewriteRule .? http://%1%{REQUEST_URI} [R=301,L] #html RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^\.]+)$ $1.html [NC,L] #index redirect RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://domain.com/ [R=301,L] RewriteCond %{THE_REQUEST} \.html RewriteRule ^(.*)\.html$ /$1 [R=301,L] </IfModule> <IfModule mod_rewrite.c> RewriteEngine on RewriteBase /blog/ # Force Trailing Slash for wordpress RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)[^/]{1}$ %{REQUEST_URI}/ [L,R=301] </IfModule>
Вышеприведенный код
#removing trailing slash Rule usage
Сделайте это так для корневого сайта .htaccess:
<IfModule mod_rewrite.c> Options +FollowSymLinks -MultiViews RewriteEngine On RewriteBase / #www to non RewriteCond %{HTTP_HOST} ^www\.(([a-z0-9_]+\.)?domain\.com)$ [NC] RewriteRule ^(.+?)/?$ http://%1/$1/ [R=301,L] RewriteCond %{THE_REQUEST} \s/+(.+?)\.html/?[\s?] [NC] RewriteRule ^ /%1/ [R=301,NE,L] #index redirect RewriteCond %{THE_REQUEST} ^[AZ]{3,9}\ /index\.html\ HTTP/ RewriteRule ^index\.html$ http://%{HTTP_HOST}/ [R=301,L] # add a trailing slash to non files RewriteCond %{ENV:REDIRECT_STATUS} ^$ RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=301,NE] # add html internally RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.]+)/$ $1.html [L] </IfModule>
Перед тестированием обязательно очистите кеш браузера.
RewriteEngine On RewriteBase /
WWW для Non
RewriteCond %{HTTP_HOST} ^www.domain\.tld$ [NC] RewriteRule ^(.*)$ http://domain.tld/$1 [L,R=301]
Удалить index.html из url
RewriteRule ^index.html$ / [L,R=301]
Удалите все .html extension / Re-direct 301 в url без расширения .html.
RewriteRule ^([a-zA-z0-9]+).html$ /$1 [L,R=301]
Добавить трейлинг-косую черту на статические веб-страницы / Re-direct 301 из непереходной косой черты
RewriteRule ^([a-zA-z0-9]+).html$ /$1/ [L,R=301]
Принудительное завершение косой черты на веб-страницах WordPress / перенаправление 301 из непереходной косой черты
RewriteRule /blog/([^/]+) /blog/$1/ [L,R=301]