Прежде всего: Не существует mod_redirect. Redirect
- это директива mod_alias.
И директива Redirect
, как и любая другая директиваиз mod_alias, работает только с путем URL.Таким образом, ваши Redirect
директивы не будут работать должным образом.Вместо этого используйте эквиваленты mod_rewrite:
RewriteCond %{HTTP_HOST} =example.com
RewriteRule (.*) http://www.example.com/$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^dtMain_start=(150|160|170)$
RewriteRule ^news/articles$ /news/articles? [L,R=301]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
В общем случае не рекомендуется смешивать mod_alias и mod_rewrite, если шаблоны совпадают друг с другом.