Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Przyjazne linki i błąd w ich przekierowaniu


Rivside

Rekomendowane odpowiedzi

Po przeniesieniu forum z innego serwera pojawił się pewien błąd w przekierowaniu. Jako, że używam nginxa zastosowałem regułę:

  
if (!-e $request_filename){
  rewrite ^/(.*)$ /index.php?q=$1 last;
}

Następnie, przebudowałem aplikacje i moduły w ACP oraz skonfigurowałem odpowiednie ustawienia w Search Engine Optimization. Oczywiście próbowałem użyć pliku .htaccess:

<IfModule mod_rewrite.c>
Options -MultiViews
RewriteEngine On
RewriteBase /forum/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /forum/index.php [L]
</IfModule>

...lecz nie przyniosła ona skutku. Serwer oczywiście odpowiednio przekierowywał te linki, ale nie było dostępu do zawartości - przykładowo postów, czy dostępu do danego forum. Pojawiał się błąd 404 not found.

Spróbowałem inaczej, wyłączyłem obsługę pliku .htaccess, zostawiłem samą wartość:

$INFO\['use_friendly_urls'\] = '1';

...oraz wcześniej utworzoną regułę na serwerze. Linki wcześniej były pod postacią (dodany plik .htaccess do konfiguracji):

strona.pl/forum/forum/2-aktualnosci/

teraz natomiast (bez .htaccess):

strona.pl/forum/index.php?/forum/2-aktualnosci/

...no i wszystko działa. W czym może być problem? Zauważyłem jeszcze, że forum przy użyciu pierwszego sposobu nakierowuje forum bądź posty na starą domenę. Wygląda to tak, jakby cache nie zostało odświeżone (a przecież przebudowywałem aplikacje). W bazie danych wyszukałem starą domenę, każdy post zawierał odnośnik właśnie do niej. Jak się tego pozbyć?

Edytowane przez Rivside
Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 tygodnie później...

Po przeniesieniu forum z innego serwera pojawił się pewien błąd w przekierowaniu. Jako, że używam nginxa zastosowałem regułę:

  
if (!-e $request_filename){
  rewrite ^/(.*)$ /index.php?q=$1 last;
}

A nie lepiej:

    	if (!-e $request_filename) {
           	rewrite . /index.php;
   	}

Oczywiście próbowałem użyć pliku .htaccess:

.htaccess na nginx'ie? lepiej zablokuj do niego dostęp jak masz go na dysku

    	location ~ /\.ht {
           	deny  all;
           	return 403;
   	}

Na forum został włączoną obsługę .htaccess, tu nie chodzi dokładnie o ten plik a o zmianę linków.

Poza tym przydało by się więcej informacji na temat konfiguracji strony w nginx'ie, bo może tam coś innego źle zrobiłeś.

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.