Правила apache в nginx

12 3
D
На сайте с 15.07.2011
Offline
41
4168

Помогите перевести правила в nginx!!!


### Редиректы с site.ru/category/index.php на site.ru/category/ и др.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*)index\.php$
RewriteRule ^(.*)index\.php$ $1 [R=301,L]

### Редиректы с index.php на сайт

RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

### Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*)page/1/$ $1/ [R=301,L]

### слеш
RewriteRule ^(.+)/$ $1 [R=301,L]

# вывод отдельному тегу
RewriteRule ^tags$ index.php?do=tags [L]
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

Попробуйте через это: http://winginx.ru/htaccess

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
D
На сайте с 15.07.2011
Offline
41
#2
LEOnidUKG:
Попробуйте через это: http://winginx.ru/htaccess

ооу Круто! не знал про такую фичу! спасибо

---------- Добавлено 08.09.2012 в 23:48 ----------

Что-то не так!!

На сайте http://winginx.ru/htaccess мне выдало вот такой код:

location / {

if (!-e $request_filename){
rewrite ^/(.*)index\.php$ /$1 redirect;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php break;
}
rewrite ^/(.*)/page/1/$ /$1/ redirect;
rewrite ^/(.*)page/1/$ /$1/ redirect;
rewrite ^/(.+)/$ /$1 redirect;
}

location /index {
rewrite ^/index\.php$ / redirect;
}

location = /tags {
rewrite ^(.*)$ /index.php?do=tags break;
}

location /tags {
rewrite ^/tags/([^/]*)/*$ /index.php?do=tags&tag=$1 break;
rewrite ^/tags/([^/]*)/page/([0-9]+)/*$ /index.php?do=tags&tag=$1&cstart=$2 break;
}

а на сайте http://www.anilcetin.com/convert-apache-htaccess-to-nginx/ мне выдает такой:

if (!-f $request_filename){

set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($uri ~ "(.*)index.php$"){
set $rule_0 3$rule_0;
}
if ($rule_0 = "321"){
rewrite ^/(.*)index.php$ /$1 permanent;
}
#ignored: condition 0
if ($rule_1 = "1"){
rewrite ^/index.php$ / permanent;
}
if (!-f $request_filename){
set $rule_2 1$rule_2;
}
if (!-d $request_filename){
set $rule_2 2$rule_2;
}
if ($rule_2 = "21"){
rewrite /. /index.php last;
}
if ($rule_3 = ""){
rewrite ^/(.*)/page/1/$ /$1/ permanent;
}
if ($rule_4 = ""){
rewrite ^/(.*)page/1/$ /$1/ permanent;
}
if ($rule_5 = ""){
rewrite ^/(.+)/$ /$1 permanent;
}
if ($rule_6 = ""){
rewrite ^/tags$ /index.php?do=tags last;
}
if ($rule_7 = ""){
rewrite ^/tags/([^/]*)(/?)+$ /index.php?do=tags&tag=$1 last;
}
if ($rule_8 = ""){
rewrite ^/tags/([^/]*)/page/([0-9]+)(/?)+$ /index.php?do=tags&tag=$1&cstart=$2 last;
}

Так что из этого есть правильно??

D
На сайте с 15.07.2011
Offline
41
#3

Нихера это код не хочет работать =(

Мужики, помогите перевести его в нормальный вид

### Редиректы с site.ru/category/index.php на site.ru/category/ и др.


RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.*)index\.php$
RewriteRule ^(.*)index\.php$ $1 [R=301,L]

### Редиректы с index.php на сайт

RewriteBase /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ / [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

### Редирект с первой страницы на основную
RewriteRule ^(.*)/page/1/$ $1/ [R=301,L]
RewriteRule ^(.*)page/1/$ $1/ [R=301,L]

### слеш
RewriteRule ^(.+)/$ $1 [R=301,L]

# вывод отдельному тегу
RewriteRule ^tags$ index.php?do=tags [L]
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
M
На сайте с 16.09.2009
Offline
278
#4
darwin:
Нихера это код не хочет работать =(

Какой "этот"?

darwin:
Мужики, помогите перевести его в нормальный вид

А что вы сами для этого сделали?

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
D
На сайте с 15.07.2011
Offline
41
#5
myhand:
Какой "этот"?

Который был сконвертирован по первой ссылке.

myhand:
А что вы сами для этого сделали?

Для чего? Что я могу сделать, если я в этом не разбираюсь но мне срочно нужно?

Я изучаю как могу, но все сразу выучить сложно, по этому обращаюсь за помощью на форуме, а Вы только и ходите по топикам и критикуете всех подряд да жизни учите!

Толку от ваших комментов? Не хотите помогать, так не пишите тогда

M
На сайте с 16.09.2009
Offline
278
#6
darwin:
Для чего? Что я могу сделать, если я в этом не разбираюсь но мне срочно нужно?

Платите. Лентяев не любят, и это правильно.

Самый простой и разумный совет - не используйте nginx в данной ситуации, если разбираться не хотите. Ведь правила апача работают нормально, верно? Зачем все ломать?

D
На сайте с 15.07.2011
Offline
41
#7
myhand:
Платите. Лентяев не любят, и это правильно.

Самый простой и разумный совет - не используйте nginx в данной ситуации, если разбираться не хотите. Ведь правила апача работают нормально, верно? Зачем все ломать?

В том то и дело, что у меня на сервере стоит NGINX и мне нужно дописать правила! Был бы Апач, я бы не заморачивался

---------- Добавлено 09.09.2012 в 13:16 ----------

myhand:
Платите. Лентяев не любят, и это правильно.

Вы издеваетесь? Хотел бы платно, я бы наверно обратился в соответствующий раздел или к нужному человеку. Я хочу научиться понимать, то что я делаю на практике. К сожалению решения своей проблеме найти не могу, а если же получу его то смогу сравнить несколько кодов и понять в чем подвох и разница!

Не хотите помогать, не пишите, умоляю! Если мне понадобятся платные услуги, я обязательно обращусь к Вам! Вы уже достаточно себя пропиарили

Den73
На сайте с 26.06.2010
Offline
523
#8
darwin:
В том то и дело, что у меня на сервере стоит NGINX и мне нужно дописать правила! Был бы Апач, я бы не заморачивался

поставьте раз не можете/не хотите/не умеете читать документацию по nginx и Apache mod_rewrite

тот кто прочитал наверника хочет $ ;)

D
На сайте с 15.07.2011
Offline
41
#9
Den73:
поставьте раз не можете/не хотите/не умеете читать документацию от nginx и Apache mod_rewrite

тот кто прочитал наверника хочет $ ;)

Вы что все с ума посходили? =))

люди, обходите тему мимо! Не надо тут КЭПа включать! Если у меня стоит NGINX значит так надо?

M
На сайте с 16.09.2009
Offline
278
#10
darwin:
Был бы Апач, я бы не заморачивался

Ну вот и поставьте апач, он есть в любом дистрибутиве. Только в этом случае получится копипастить готовые правила бездумно, как хочется вам. Без необходимости читать документацию nginx.

darwin:
Я хочу научиться понимать, то что я делаю на практике.

Да не видно этого "хотения" в упор (кстати, на примере уже второго вашего топика). Видно: "хочу готовое решение, дай мне его".

Было б оно - вы бы не писали "нихера это код не хочет работать", а сперва выяснили какое именно из правил у вас не работает (бегло взглянул - часть работать *должна*).

darwin:
Не хотите помогать, не пишите

Не хотели бы помочь, не писали б. Просто не путайте помощь с халявой.

12 3

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий