Проблемы перенаправления .htaccess - PullRequest
0 голосов
/ 16 февраля 2012

Я использую WordPress на своем домене.Первоначально я установил его в подкаталог:

www.example.com / wpblog /

Теперь я переместил блог в корень моего сайта И изменил структуру постоянных ссылок с../2011/03/name-of-post to ../name-of-post.

Я пытаюсь перенаправить все ссылки на мой блог, которые используют старый URL и структуру.

Я использую этот код для успешного перенаправления из / wpblog / в корень сайта:

RewriteEngine On
RewriteBase /
Redirect 301 /wpblog/ http://www.example.com/

Но теперь мне нужно изменить структуру постоянной ссылки OLD, чтобы удалить / 2011/03 /, оставив меня с www.example.com / name-of-post (от: www.example.com/wpblog/2011/03/name-of-post).Я добавил этот код, который работает на 100%:

RedirectMatch 301 /([0-9]+)/([0-9]+)/(.*)$ http://www.example.com/$3

Проблема в том, что он также разрывает ссылки на мои медиафайлы (www.example.com/wp-content/2011/03/name-of-средства массовой информации).Поэтому мне нужно исключить каталог / wp-content / из перенаправления постоянных ссылок (но не из / wpblog / redirect).Я изменил перенаправление постоянной ссылки следующим образом:

RewriteCond %{REQUEST_URI} "/wp-content/"
RewriteRule 301 /([0-9]+)/([0-9]+)/(.*)$ http://www.example.com/$3

Но это ломает весь сайт, давая мне ошибку .....

Я был бы очень признателен, если бы кто-то мог помочь мне!Я рвал на себе волосы из-за этого!

1 Ответ

0 голосов
/ 16 февраля 2012

Попробуйте это:

RewriteEngine on
RewriteBase /

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]

RewriteCond %{REQUEST_URI} ^/wp-content/ [NC]
RewriteRule %{REQUEST_FILENAME} !-f
RewriteRule %{REQUEST_FILENAME} !-l
RewriteRule /(?:[\d]+)/(?:[\d]+)/(.*)$ http://www.grvhi.com/$1 [R=301,L]

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
...