Skocz do zawartości

Web Hosting Talk

  • progreso.pl

    Partner technologiczny

    Upraszczamy to, co inni starają się komplikować. Prosto, pewnie, przyjaźnie - tak robimy hosting!
  • Kei.pl

    Partner technologiczny

    Kei.pl działa na polskim rynku internetowym od 2000 roku. Obecnie na blisko 300 serwerach w Centrum Danych Kei.pl znajduje się kilkadziesiąt tysięcy stron WWW.
  • S-NET.info

    Partner technologiczny

    S-NET to dostawca usług dla biznesu. Najważniejsze usługi świadczone przez firmę to usługi Centrum Danych, dostęp do Internetu, transmisja danych oraz tranzyt do różnych operatorów.
  • Sprint Data Center

    Partner technologiczny

    Sprint Data Center to jedyne w Polsce północno-wschodniej i jednocześnie jedno z najnowocześniejszych w kraju centrum przechowywania i przetwarzania danych.

 

Nginx + .htaccess

.htaccess Nginx

  • Nie możesz odpowiadać w tym temacie
10 odpowiedzi na ten temat

Nginx + .htaccess

#1 Quam

    Nowy użytkownik

  • Użytkownicy
  • 3 postów

Napisany 05 listopad 2011 - 19:54

Witam,

Przsiadłem się z apache na Nginx. Nie potrafie poradzić sobie z htaccess nie wiem jak przerobić oraz czy trzeba cos podawać w nginx.conf. Proszę o pomoc osoby z większą wiedzą jak przerobić poprawnie ten plik.


 SetEnv PHP_VER 5
	
	Options +FollowSymLinks
	
	<IfModule mod_rewrite.c>
	RewriteEngine On
	
	# Profile Show #
	RewriteRule ^profile_show,(.*),(.*),nb.html?$ index.php?act=profile_show&user=$1&step=$2&no_body=1 [NC]
	RewriteRule ^profile_show,(.*)-(.*),(.*).html?$ index.php?act=profile_show&user=$1&step=$3 [NC]
	RewriteRule ^profile_show,(.*)-(.*).html?$ index.php?act=profile_show&user=$1 [NC]
	
	# Other #
	RewriteRule ^(.*),(.*),(.*),(.*),nb.html?$ index.php?act=$1&step=$2&add=$3&add2=$4&no_body=1 [NC]
	RewriteRule ^(.*),(.*),(.*),nb.html?$ index.php?act=$1&step=$2&add=$3&no_body=1 [NC]
	RewriteRule ^(.*),(.*),nb.html?$ index.php?act=$1&step=$2&no_body=1 [NC]
	RewriteRule ^(.*),(.*),(.*).html?$ index.php?act=$1&step=$2&add=$3 [NC]
	RewriteRule ^(.*),(.*).html?$ index.php?act=$1&step=$2 [NC]
	RewriteRule ^(.*).html?$ index.php?act=$1 [NC]
	</IfModule>


#2 elcct

    Stały użytkownik

  • WHT Pro
  • PipPipPipPipPip
  • 430 postów
  • Skąd:UK

Napisany 05 listopad 2011 - 20:12

Cytuj


rewrite ^/profile_show,(.*),(.*),nb.html?$ /index.php?act=profile_show&user=$1&step=$2&no_body=1;
rewrite ^/profile_show,(.*)-(.*),(.*).html?$ /index.php?act=profile_show&user=$1&step=$3;
rewrite ^/profile_show,(.*)-(.*).html?$ /index.php?act=profile_show&user=$1;
rewrite ^/(.*),(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&add2=$4&no_body=1;
rewrite ^/(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&no_body=1;
rewrite ^/(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&no_body=1;
rewrite ^/(.*),(.*),(.*).html?$ /index.php?act=$1&step=$2&add=$3;
rewrite ^/(.*),(.*).html?$ /index.php?act=$1&step=$2;
rewrite ^/(.*).html?$ /index.php?act=$1;

Pomocne:

http://www.anilcetin...ccess-to-nginx/

#3 Quam

    Nowy użytkownik

  • Użytkownicy
  • 3 postów

Napisany 05 listopad 2011 - 20:16

Ok dzieki

Mam to umieścić w htaccess ? i powinno działać ?

czy musze cos robic jeszcze w conf.

#4 Portek

    Czasami na forum

  • Użytkownicy
  • 41 postów
  • Skąd:Częstochowa
  • Imię:Michał

Napisany 05 listopad 2011 - 20:16

@UP szybszy, do kasacji.

Powinno być okej:
rewrite ^/profile_show,(.*),(.*),nb.html?$ /index.php?act=profile_show&user=$1&step=$2&no_body=1 last;
rewrite ^/profile_show,(.*)-(.*),(.*).html?$ /index.php?act=profile_show&user=$1&step=$3 last;
rewrite ^/profile_show,(.*)-(.*).html?$ /index.php?act=profile_show&user=$1 last;
		
# Other #
rewrite ^/(.*),(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&add2=$4&no_body=1 last;
rewrite ^/(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&no_body=1 last;
rewrite ^/(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&no_body=1 last;
rewrite ^/(.*),(.*),(.*).html?$ /index.php?act=$1&step=$2&add=$3 last;
rewrite ^/(.*),(.*).html?$ /index.php?act=$1&step=$2 last;
rewrite ^/(.*).html?$ /index.php?act=$1 last;

Ten post był edytowany przez Portek dnia: 05 listopad 2011 - 20:17


#5 elcct

    Stały użytkownik

  • WHT Pro
  • PipPipPipPipPip
  • 430 postów
  • Skąd:UK

Napisany 05 listopad 2011 - 20:47

Zobacz postQuam, o 05 listopad 2011 - 20:16, powiedział:

Ok dzieki

Mam to umieścić w htaccess ? i powinno działać ?

czy musze cos robic jeszcze w conf.

Musisz to wrzucic tam gdzie masz skonfigurowanego hosta, czyli np. w
/etc/nginx/sites-enabled/default

w sekcji server {}

nginx nie obsługuje plików htaccess

Ten post był edytowany przez elcct dnia: 05 listopad 2011 - 20:47


#6 Quam

    Nowy użytkownik

  • Użytkownicy
  • 3 postów

Napisany 05 listopad 2011 - 23:51

Zrobiłem ale nie dziła coś Dodany obrazek "404 Not Found"

server {
listen 80;
root /home/www/portal;
index index.html index.htm index.php;

# Make site accessible from http://localhost/
server_name www.portal.domena.pl portal.domena.pl;

location ~ \.php$ {
fastcgi_split_path_info ^(.+\.php)(.*)$;
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /home/www/portal/$fastcgi_script_name;
}


location / {
root /home/www/portal;
index index.php;
rewrite ^/profile_show,(.*),(.*),nb.html?$ /index.php?act=profile_show&user=$1&step=$2&no_body=1 last;
rewrite ^/profile_show,(.*)-(.*),(.*).html?$ /index.php?act=profile_show&user=$1&step=$3 last;
rewrite ^/profile_show,(.*)-(.*).html?$ /index.php?act=profile_show&user=$1 last;

rewrite ^/(.*),(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&add2=$4&no_body=1 last;
rewrite ^/(.*),(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&add=$3&no_body=1 last;
rewrite ^/(.*),(.*),nb.html?$ /index.php?act=$1&step=$2&no_body=1 last;
rewrite ^/(.*),(.*),(.*).html?$ /index.php?act=$1&step=$2&add=$3 last;
rewrite ^/(.*),(.*).html?$ /index.php?act=$1&step=$2 last;
rewrite ^/(.*).html?$ /index.php?act=$1 last;
}


#7 Maq

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 258 postów
  • Skąd:Oborniki Śląskie
  • Imię:Paweł
  • Nazwisko:Stecki

Napisany 31 styczeń 2012 - 21:47

Pozwolicie się że podepnę się do tematu, mam taką regułkę w .htaccess:

RewriteEngine On
RewriteCond   %{REQUEST_URI} \/([0-9,a-z,_,-,\!]+)$ [NC]
RewriteRule   ^(.*) show.php?%1 [L]
Prosiłbym o przerobienie to na język zrozumiały dla nginx Dodany obrazek A tamten generator według mnie trochę nie bardzo sobie z tym poradził.

Podjąłem męską decyzję migracji stron bo apache z nie wiadomych przyczyn zamula (choć dużo mądrzejsza ode mnie osoba z tego forum próbowała bezskutecznie znaleźć przyczynę)

Ten post był edytowany przez Maq dnia: 31 styczeń 2012 - 21:47

http://wklej.se/ - Wrzuć tekst/kod i podziel się nim z innymi :) Kolorowanie składni, ustawianie hasła, przyjazny adres...

#8 Misiek08

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 275 postów

Napisany 31 styczeń 2012 - 22:14

Używając podanej wcześniej strony:

Cytuj

if ($uri ~* "/([0-9a-z_-,!]+)$"){
set $rule_0 1$rule_0;
}
if ($rule_0 = "1"){
rewrite / /;
}
Nie wiem czy przed ! nie warto dać \, żeby go nie zrozumiało jako przeczenia.

#9 Maq

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 258 postów
  • Skąd:Oborniki Śląskie
  • Imię:Paweł
  • Nazwisko:Stecki

Napisany 31 styczeń 2012 - 22:20

dzięki, po testuję na dniach, bo mi tamta strona generowała jedynie:

Cytuj

#ignored: condition 0
if ($rule_0 = "1"){
rewrite / /;
}
w pierwszej kolejności poprzerzucam najpierw statyczne strony
http://wklej.se/ - Wrzuć tekst/kod i podziel się nim z innymi :) Kolorowanie składni, ustawianie hasła, przyjazny adres...

#10 Misiek08

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 275 postów

Napisany 11 luty 2012 - 20:25

Wyrzuca błędy, bo za dużo przecinków tam dałeś. Warto pokombinować ze zmianą regexa na czas tłumaczenia, a potem wstawienia starego z Apache. Nie wiem czy wiesz, ale konstrukcja

Cytuj

[0-9,a-z,_,-,\!]+
To dokładnie to samo co

Cytuj

[0-9a-z,_-\!]+
, ponieważ przecinek powinieneś dodać tylko raz. Jeśli go nie dopuszczasz w danym stringu to w ogóle go nie podawaj. Przed myślnikiem też można spróbować dać \, bo wtedy może traktować _-\ jako zakres od podkreślnika do backslasha.

#11 Maq

    Stały użytkownik

  • Użytkownicy
  • PipPipPipPipPip
  • 258 postów
  • Skąd:Oborniki Śląskie
  • Imię:Paweł
  • Nazwisko:Stecki

Napisany 11 luty 2012 - 21:07

Poradziłem sobie już wcześniej, przepisałem ręcznie kod według tutka znalezionego w necie.
http://wklej.se/ - Wrzuć tekst/kod i podziel się nim z innymi :) Kolorowanie składni, ustawianie hasła, przyjazny adres...





1 Użytkowników czyta ten temat

0 użytkowników, 1 gości, 0 anonimowych użytkowników