Мой сайт не www ,оно имеет wordpress в подкаталоге и некоторые статические веб-страницы в корень и другой подкаталог
так и должно быть
/articles.html к / статьи /
и
/subdirectory/book.html к / подкаталог / книга /
приведенный ниже код
вот мой .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 есть отдельный файл .htaccess, который содержит дополнительные правила, чтобы эти страницы работали. Я предполагаю, что вашим статическим страницам потребуются дополнительные явные правила, которые можно добавить в .htaccess или на виртуальный хост, но в обоих случаях они должны выглядеть так:
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^staticpage1$ ./staticpage1.html
RewriteRule ^staticpage2$ ./staticpage2.html