вопрос по правилу htaccess

#.htaccess #mod-rewrite

#.htaccess #мод-перезапись

Вопрос:

У меня есть htaccess, который выглядит следующим образом:

 RewriteEngine on
RewriteCond $1 !^(index.php|images|css|js|robots.txt|favicon.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [QSA]
RewriteRule ^$ /naujausios [L,R] 
  

И я не уверен, куда это поместить:

 RewriteCond %{HTTP_HOST} ^www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
  

чтобы это работало должным образом — я попробовал несколько модификаций ключей в конце, но безуспешно — я просто получаю ответ 500. Спасибо за вашу помощь!

Комментарии:

1. Пожалуйста, расскажите нам, что вы пытаетесь сделать, и вам также нужно указать свой исходный и целевой URL.

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

3. То, что у вас есть, должно сработать … вы пробовали жестко кодировать домен RewriteRule, RewriteRule ^(.*)$ http://somedomain.com/$1 [R=301,L] ? Кроме того, пробовали ли вы перезапись, отличную от www, с закомментированной исходной перезаписью, чтобы убедиться в отсутствии конфликта?

Ответ №1:

У меня возникали конфликты, куда бы я это ни поместил, но решение состояло в том, чтобы поместить бит www rewrite в самый верх сразу после RewriteEngine на