У меня есть следующие .htaccess mod_rewrite правила:Mod_rewrite: Different поведение на разных системах
RewriteEngine on
RewriteRule ^(abc1|abc2|abc3|abc-defg)/([^/]+)$ /redirect/category/$1/$2
RewriteRule ^(.+[^/])/$ /$1 [R=301,L]
Теперь у меня есть следующий URL:
http://www.example.com/abc-defg/cat1/
, который должен быть сопоставлен
http://www.example.com/redirect/category/abc-defg/cat1
Это правило работает на моей локальной машине-разработчике (Win7, Xampp), но не на рабочем сервере (работает Ubuntu 12 .04 с Apache, mod_rewrite и mod_fcgid).
На Ubuntu я перенаправляюсь на http://www.example.com/abc-defg/cat1
(удалено «/», что является вторым правилом).
Как я могу узнать, почему он не работает должным образом?
Хорошо, я разрешу перенаправление на стороне php (поскольку это только для «старых» URL-адресов). – bernhardh