2009-02-22 16 views
5

Mam Joomla 1.5.9 uruchomiony na IIS7. Eksperymentuję teraz z ustawieniami SEO na stronie konfiguracji globalnej Joomla.URL Rewrite z Joomla na IIS7

Najpierw bawiłem się wyszukiwarką przyjaznych adresów URL (która pozbywa się części adresów z zapytaniami); to działa dobrze.

Próbowałem również włączyć "Użyj Apache mod_rewrite". Zainstalowałem "Moduł Microsoft URL Rewrite dla IIS 7.0" i dodałem plik web.config zgodnie z http://learn.iis.net/page.aspx/527/joomla-on-iis. Po kliknięciu linków menu wygląda na to, że nie widzę już pliku index.php w adresie URL. Pasek adresu jest aktualizowany do tego, co wygląda jak właściwy adres URL, ale wyświetlana zawartość zawsze odpowiada stronie głównej. Próbowałem zarówno w IE i Google Chrome z tym samym wynikiem. Odświeżenie strony po załadowaniu nie zrobiło żadnej różnicy.

Próbowałem ponownie uruchomić IIS7, to nie miało znaczenia.

Edytuj: Po wykonaniu poniższej sugestii (zgodnie z instrukcjami pod adresem http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx: włączone szybkie cgi, zmodyfikowane php.ini i zaimportowane reguły przepisywania zamiast umieszczania ich w pliku web.config), otrzymuję teraz numery 404 zamiast po prostu pokazuje zawartość strony głównej. Adres URL nadal wydaje się być poprawnie przepisany. Tak więc inne zachowanie, ale nadal nie działa. Nie jestem pewien, czy są to przydatne informacje, ale te dwa pola są wyświetlane na stronie 404: Żądany adres URL http://localhost:80/joomla_course/seasonal-specialties Ścieżka fizyczna C: \ inetpub \ wwwroot \ joomla_course \ sezonowe-specjały Czy ścieżka fizyczna powinna być "nie- przepisany "URL? A może oczekuje się, że tak będzie?

Edycja 2: Oho! Znalazłem kogoś z tym samym problemem opublikowanego na forach Joomla: http://forum.joomla.org/viewtopic.php?f=543&t=364706&p=1598137#p1598137. Ale tam też nie ma odpowiedzi.

Każdy pomysł, jak zdiagnozować (lub jeszcze lepiej, naprawić :)) to?

Dzięki!

Odpowiedz

1

Mam to teraz. Kluczem było upewnienie się, że FastCGI jest używane do uruchamiania php (według http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70) i upewnienie się, że "Use Apache mod_rewrite" jest włączone. Jeśli "Użyj Apache mod_rewrite" jest wyłączony, ale zasady przepisywania są obecne w IIS7, to HTML pokazuje tylko styl lub obrazy.

Wymaganie dotyczące używania FastCGI jest dziwne (i sprzeczne z sugestią zawartą w http://maximumpcguides.com/windows-vista/how-to-create-a-windows-vista-iis7-mysql-php-web-server, co było początkowo używane do ustawienia php). Wszystko wydaje się działać, gdy nie używa się FastCGI, z wyjątkiem przepisywania adresów URL.

Wygląda na to, że zadziała importowanie reguł (zgodnie z sugestią w http://www.mydotnetworld.com/post/2008/10/24/URL-Rewriting-In-Joomla-15-on-IIS-7.aspx) lub ręczne dodanie ich do pliku web.config (zgodnie z sugestią podaną w http://learn.iis.net/page.aspx/527/joomla-on-iis).

0

Wygląda na to, że coś jest nie tak z regułami w pliku web.config. Właśnie od komentarza do artykułu, który łączysz, nie jesteś jedynym, który ma ten problem. Chciałbym usunąć web.config, a następnie postępować zgodnie z instrukcjami przedstawionymi na here.

+0

To wyglądało obiecująco, ale nie zadziałało. Teraz dostaję 404, gdy klikam na linki. Adres URL nadal wygląda prawidłowo (tak jak początkowo). 404 mówi, że ścieżka fizyczna wygląda podobnie do (przepisanego) adresu URL - czy jest to oczekiwane? – Jimmy