Задать вопрос
@kanuhamru

Правила Apache > NGinx?

Здравствуйте!

Помогите, пожалуйста, правильно перевести эти правила Apache в NGinx:

RewriteRule (.+)/feed /$1 [R=301,L]
RewriteRule (.+)/comment-page /$1 [R=301,L]
RewriteRule (.+)/trackback /$1 [R=301,L]
RewriteRule (.+)/comments /$1 [R=301,L]
RewriteRule (.+)/attachment /$1 [R=301,L]
RewriteCond %{QUERY_STRING} ^replytocom= [NC]
RewriteRule (.*) $1? [R=301,L]
RewriteCond %{QUERY_STRING} ^attachment_id= [NC]
RewriteRule (.*) $1? [R=301,L]

RewriteCond %{REQUEST_URI} !^/page/([0-9]+)/$
RewriteRule (.*)/([0-9]+)/$ $1/ [R=301,L]


Или хотя бы разъясните что они значат?
  • Вопрос задан
  • 257 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Mihail9575
По моему мнению потребуется много "разъяснять", поэтому почитай о регулярных выражениях в htaccess.

Попробуй:
location ~ /page/([0-9]+)/$ {}

location / {
	rewrite (.+)/feed /$1 redirect;
	rewrite (.+)/comment-page /$1 redirect;
	rewrite (.+)/trackback /$1 redirect;
	rewrite (.+)/comments /$1 redirect;
	rewrite (.+)/attachment /$1 redirect;
	
	if ($query_string ~* "^replytocom=") {
		rewrite ^(.*)$ /$1? redirect;
	}

	if ($query_string ~* "^attachment_id=") {
		rewrite ^(.*)$ /$1? redirect;
	}

	rewrite (.*)/([0-9]+)/$ /$1/ redirect;
}


Почитай, возможно поможет: wiki.nginx.org/NginxHttpCoreModule#try_files
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы