Добавить косую черту после удаления расширения.html
Мой веб-сайт не www, он имеет WordPress в подкаталоге и некоторые статические веб-страницы в корне и других подкаталогах
- Я хочу удалить расширение.html с веб-страниц в корне и других статических веб-страниц в подкаталоге.
- добавить косую черту в конце.
- 301 перенаправить с не косой черты на URL с косой чертой.
так и должно быть
/articles.html to / Articles /
а также
/subdirectory/book.html в / подкаталог /book/
код ниже
- работа без косой черты в конце
- перенаправить 301 URL с косой чертой на не
вот мой.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} ^[A-Z]{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>
PS все в порядке с wordpress, проблемы только со статическими страницами.
Заранее спасибо
1 ответ
Кажется, я не могу комментировать, кажется, но я предполагаю, что WordPress имеет отдельный файл.htaccess, который содержит дополнительные правила для работы этих страниц. Я предполагаю, что вашим статическим страницам понадобятся дополнительные явные правила, которые могут быть добавлены в.htaccess или в виртуальный хост, но в обоих случаях они должны выглядеть следующим образом:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^staticpage1$ ./staticpage1.html
RewriteRule ^staticpage2$ ./staticpage2.html