У меня есть .htaccess, который не работает так, как я думал. У меня есть сайт WP, владельцы которого решили переместить базовый путь для записей блога на /blog/, поэтому все посты теперь выдают ошибку 404 от поисковых систем. Хотя я и исправил перенаправления для постов, категории дат, такие как "/2015/03", также нуждаются в перенаправлении. Я создал правило следующим образом:
RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])
RewriteRule (.*) http://www.domain.com/blog/$1
который отлично работает наhttp://htaccess.madewithlove.be/
www.domain.com/2009/05 следует перевести на: www.domain.com/blog/2009/05
Но на сайте он работает скват. У меня есть версия сайта для разработки, с которой можно поиграться, чтобы можно было тестировать и вносить изменения, не повреждая работающий сайт. Полный раздел mod_rewrite:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^/(200[1-9]|201[1-9])/(0[1-9]|1[0-2])/
RewriteRule ^(.*) http://www.domain.com/blog/$1
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Есть подсказки? Сервер — Ubuntu с Apache2.
решение1
Файлы соответствуют началу этого подкаталога, поэтому не следует использовать шаблоны in .htaccess
. ^
^/
Кроме того, ваш шаблон 201[1-9]
не соответствует 2010 году.