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ć?