Z tego co widzę zagadnienie o którym chcę napisać dość często jest poruszane zarówno na forum Krasnala jak i Mambo. Niestety solucje jakie dotychczas znalazłem na obu forach nie przybliżyły mnie do rozwiązania problemu.
Udało mi się jednak chyba dość precyzyjnie zdiagnozować problem - ale niestety wciąż nie znam solucji.
Co więcej, z tego co widzę problem dotyczy nie tylko Krasnala w localhost ale również niektórych kont hostingowych.
Chodzi mianowicie o możliwość włączenia funkcji SEF w Mambo która wymaga obecności modułu mod_rewrite.
Po kilku testach udało mi się potwierdzić, że Krasnal poprawnie obsługuje mod_rewrite zarówno w katalogu głównym (i jego podkatalogach) jak i w katalogach użytkowników.
Wiem to na 100% bo moduł ten listuje się po
http://127.0.0.1/server-info oraz udało mi się zgodnie z moimi oczekiwaniami wykonać taki plik .htaccess:
Redirect /google.html
http://www.google.com (tester działania .htaccess z forum Mambo).
Powyższa reguła działa mi zarówno w katalogu głównym krasnala jak i w katalogach użytkowników (i tu i tu jest ustawione AllowOverride All)
Ale kiedy próbuję uruchomić dostarczony z Mambo plik .htaccess to zawsze dostaję error 403.
Myślę, że kluczem do rozwiązania zagadki jest ciąg "RewriteBase /katalog" w pliku .htaccess oraz struktura katalogów w Krasnalu.
Krasnal ma dwa katalogi gdzie można zapisywać strony www:
1. C:\usr\apache\httpd\html
Jest to katalog główny serwera. Każdy podkatalog w nim utworzony jest dostępny względną ścieżką w postaci /katalog. Jeśli więc zainstaluje tam mambo w katalogu o nazwie "mambo" to ścieżka dostępu będzie "/mambo".
2. C:\usr\krasnal\www
Jest to katalog z kontami użytkowników. Wg. instrukcji do Krasnala tam właśnie należy instalować nowe strony WWW. No i tam właśnie zainstalowałem Mambo. Aby adresować do katalogu "mambo" w tej lokalizacji muszę wpisywać "/~mambo". Czyli u mnie mambo jest pod url'em
http://127.0.0.1/~mambo/ .
Katalog ten jest też dostępny pod adresem
http://127.0.0.1/mambo a to dlatego, że Krasnal automatycznie dla wszystkich kont użytkowników generuje alias w postaci:
Alias /mambo "C:\usr\krasnal\www\mambo"
<Directory "C:\usr\krasnal\www\mambo">
Options Indexes
Order allow,deny
Allow from all
</Directory>
Zorientowawszy się w sytuacji domyśliłem się, że muszę przeedytować regułę "RewriteBase /katalog".
Najpierw wpisałem "RewriteBase /~mambo" - bo wydawało mi się to najlogiczniejsze. Niestety - po odpaleniu Mambo dostałem 403 - dostęp zabroniony :-(
Myślę sobie - ok - w końcu mam alias. Wpisałem "RewriteBase /mambo". Error 403. No i kicha, bo pomysły mi się skończyły
Przekopiowałem katalog z plikami Mambo do katalogu głównego apacha, ustawiłem "RewriteBase /mambo" - i działa.
Czyli, kłopot z uruchomieniem SEF w mambo jest najprawdopodobniej związany z poprawnym adresowaniem do katalogu użytkowników. Ci z userów Mambo, którzy zinstalowali portal w katalogu głównym serwera nie napotkali zapewne problemów. Ci którzy korzystają z katalogu użytkownika dostają non stop błędy.

Ktoś ma jakiś pomysł jak poprawnie skonfigurować RewriteBase by działał w katalogach użytkowników?
PS. Dodam, że dodałem do tego aliasu /mambo zapis AllowOverride All - ale nadal mam 403
