Я перевожу все на новый домен.Если URL старого домена http://example.com/article/article_title/date/and/etc,, я хочу перенаправить его на другой сервер по адресу http://anotherserver.com/extradir/article/article_title/date/and/etc.
В противном случае, если первый аргумент пути запроса не «article», просто измените доменимя и перенаправление.
Вот мой удар:
RewriteRule ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 [R=301,L] RewriteRule ^(.*)$ http://anotherserver.com$1 [R=301,L]
Первый никогда не совпадает.Второй работает нормально.
Он находится на Drupal и размещен чуть ниже директивы RewriteEngine On в httpd.conf, чтобы избежать директив Drupal.
Это в httpd.conf NOT .htaccess.
Есть идеи, почему не работает верхний RewriteRule?
Понятия не имею, почему ваше первое правило не работает, оно работает для меня, если я добавлю это в свою конфигурацию vhost. Вы пробовали использовать RedirectMatch?
RedirectMatch
RedirectMatch 301 ^/article/(.*)$ http://anotherserver.com/extradir/article/$1 RedirectMatch 301 ^(.*)$ http://anotherserver.com$1