У меня есть сайт WordPress, когда на том же домене был старый сайт ASPX. Это мой файл .htaccess для перенаправления:
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress redirect 301 /news/ http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/ redirect 301 /articles/ http://www.doctornestor.co.il/blog/articles-and-newsposts/ redirect 301 /contact.aspx http://doctrnestor.co.il/contact/ redirect 301 /send2friend.aspx http://www.doctornestor.co.il/contact/
Так в чем же проблема? Когда я перехожу к «http://www.doctornestor.co.il/news", он отправляет меня на правильное перенаправление URL - http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/, но когда я перехожу к« http://www.doctornestor.co.il/contact.aspx", я получаю эту ошибку »Ошибка сервера в '/ «Приложение».
Я предполагаю, что это потому, что мне нужно сделать что-то еще для перенаправления ASPX. Чего мне не хватает?
P.S. Я работаю над Apache.
Попробуйте эти правила:
RewriteEngine On RewriteBase / # redirects RewriteRule ^news/$ http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/ [QSA,R=301,L] RewriteRule ^articles/$ http://www.doctornestor.co.il/blog/articles-and-newsposts/ [QSA,R=301,L] RewriteRule ^contact.aspx$ http://doctornestor.co.il/contact/ [QSA,R=301,L] RewriteRule ^send2friend.aspx$ http://www.doctornestor.co.il/contact/ [QSA,R=301,L] # WordPress rules RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L]
ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ: первые 2 перенаправления точно совпадают с директивами Redirect. Это означает, что 1 правило будет соответствовать ТОЛЬКО http://www.domain.com/news/, тогда как оригинальное перенаправление также будет соответствовать http://www.domain.com/news/something => http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/something.
Redirect
http://www.domain.com/news/
http://www.domain.com/news/something
http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/something
Если вы хотите, чтобы это поведение заменило эти 2 строки на эти:
RewriteRule ^news/(.*)$ http://www.doctornestor.co.il/category-news/%D7%9B%D7%9C%D7%9C%D7%99/$1 [QSA,R=301,L] RewriteRule ^articles/(.*)$ http://www.doctornestor.co.il/blog/articles-and-newsposts/$1 [QSA,R=301,L]
хорошо, проблема связана с моим хостом (rackspace) - здесь .
@ Adrian, @LazyOne & @James - спасибо за вашу помощь.
Это просто опечатка в вашем вопросе или копия вашего кода в .htaccess?
redirect 301 /contact.aspx http://doctrnestor.co.il/contact/
Я предполагаю, что это должно читаться doctornestor
redirect 301 /contact.aspx http://doctornestor.co.il/contact/