Czy jesteś udręczonym, przepracowanym webmasterem, który właśnie stanął przed zadaniem dokonania tych samych zmian na kilku tysiącach stron jednej witryny? Zadanie to może być znacznie prostsze dzięki wykorzystaniu Server Side Includes czyli SSI.
o autorach
Michał Paluchowski CEO, właściciel i redaktor vortalu NetHut.pl. Jego ulubionym tygodnikiem jest Wprost, a na co dzień z przyjemnością czyta Gazetę Wyborczą. Jest zakochany w muzyce i komputerach, czasem nieco ekscentryczny. Zawsze otwarty na nowe znajomości.
Łącznie napisał dla nas 45 artykułów.tych samych autorów
- IMAP w stylu PHP [MP]
- Własne RSS [MP]
- Rodzina XSL [MP]
- Wprowadzenie do XML [MP]
- Rozszerzenia XSSI [MP]
zobacz również
Czym są SSI?
SSI działają na większości, ale nie wszystkich serwerach. Po raz pierwszy pojawiły się na serwerze NCSA. Dalszego ich rozwoju dokonano w serwerze Apache, który obsługuje eXtended SSI. Niestety nie działają na serwerach CERN. Nie działają także na większości darmowych kont.
Polecenie lub dyrektywa SSI jest umieszczana w zwykłym pliku HTML wewnątrz linii komentarza. Tuż przed wysłaniem strony do przeglądarki internauty wszystkie polecenia są zamieniane przez serwer na odpowiednie dane. Dzięki nim można szybko zmienić wygląd wielu stron, wstawić aktualną datę, czas, wywołać skrypt CGI i nie tylko.
Uruchamianie SSI
Jeżeli posiadasz konto na innym serwerze skieruj pytania o dostępność SSI do swojego administratora. On też będzie mógł uruchomić SSI.
Jeżeli natomiast sam administrujesz serwerem, musisz zmienić kilka danych w jego pliku konfiguracyjnym. Znajdź w nim sekcję z poleceniami AddType i sprzed linii
#AddType text/x-server-parsed-html .shtml
usuń znak #. Ewentualnie dopisz powyższą linię.
Najczęściej pliki zawierające polecenia SSI maja rozszerzenie .shtml ale możesz też użyć rozszerzeń .html. Wystarczy dopisać to rozszerzenie do linii powyżej.
Składnia SSI
Ogólny wzór poleceń SSI wygląda tak:
<!--#dyrektywa parametr="wartość" -->
Piękne, prawda? Ale po kolei. Dyrektywa to polecenie dla serwera aby wykonał odpowiednie zadanie. Parametr określa na jakim elemencie ma to zadanie być wykonane. Wartość jest rezultatem jaki chcesz osiągnąć.
Ważne jest też umiejscowienie spacji. Pomiędzy znakami <!--# oraz dyrektywą nie może być żadnych spacji. Szczególnie dotyczy to znaków - i #, ponieważ jeżeli je oddzielisz serwer potraktuje linię jako zwykły komentarz i nie zrobi nic. Ważne jest też aby w ciągu znaków parametru i wartości nie było przerw. Natomiast zaraz po nim wstawiamy spację i znak zakończenia -->.
Dyrektyw i parametrów jest naprawdę niewiele. Oto one:
| Dyrektywy | Parametry |
|---|---|
| config | errmsg, timefmt, sizefmt |
| include | virtual, file |
| echo | var |
| fsize | file |
| flastmod | file |
| exec | cmd, cgi |