Przyjazne linki - obsługa mod_rewrite


(Withorlo2) #1

Witam, potrzebuję pomocy przy skonfigurowaniu pliku .htcaccess aby usuwał on rozszerzenia nazw plików albo zamieniał je na inne nazwy w pasku wyszukiwarki w przeglądarce.

Mój stockowy plik .htcaccess po założeniu domeny wyglądał tak:

Options -Indexes +ExecCGI

AddHandler cgi-script .cgi .pl


# Usuniecie ponizszej linijki moze powodowac problemy z niektorymi regulkami w glownym katalogu domeny.

RewriteEngine Off

Przerobiłem go w ten sposób ale nadal nie działa:

Options -Indexes +ExecCGI +FollowSymLinks

AddHandler cgi-script .cgi .pl

RewriteEngine On 

RewriteRule ^/$ index.php [L]

RewriteRule ^onas$ onas.php [L]

RewriteRule ^oferta$ oferta.php [L]

RewriteRule ^dojazd$ dojazd.php [L]

RewriteRule ^galeria$ galeria.php [L]


# Usuniecie ponizszej linijki moze powodowac problemy z niektorymi regulkami w glownym katalogu domeny.

RewriteEngine Off

Nie wiem co jest nie tak.


(Marcin86s) #2

Lepiej napisz stronę tak żeby korzystała z przyjaznych adresów anie rób kilometrowego .htaccessa


(Konrad Kosowski) #3

http://www.dobreprogramy.pl/tfl/WebDeve ... 45960.html

Tutaj piszę (raczej mówię) jak to zrobić przy pomocy codeignitera. Jednak większość znanych mi frameworków php ma bardzo podobny mechanizm.


(Withorlo2) #4

Dzięki za odzew ale ja nie pytałem jak zrobić to w inny sposób albo jak tego nie robić tylko co z moim plikiem jest nie tak więc ponawiam pytanie:

Jak mam najprościej napisać plik .htcaccess aby zamieniał np. \galeria.php na \galeria?

@marcin mam tylko 5 podstron więc plik nie będzie kilometrowy i nie zależy mi na tym aby zmieścić wszystko w jednej linijce gdyż strona nie będzie miała więcej podstron i te 5 linijek więcej nie robi mi rożnicy.


(Konrad Kosowski) #5

W takim razie - wszystko imo wygląda poprawnie... może poza pierwszym wpisem czyli tym:

RewriteRule ^/$ index.php [L]

Nie jestem pewny, ale generalnie powinno to działać tak: http://example.com// => http://example.com/index.php (zwracam uwagę na dwa / po example.com). To raczej jest więc błąd. Jaki jest efekt u Ciebie? (co znaczy "ale nadal nie działa"?)


(Wojsmol) #6

Witam

Jakim cudem to może działać jeżeli najpierw mod_rewrite jest włączany

RewriteEngine On

a następnie wyłączany

# Usuniecie ponizszej linijki moze powodowac problemy z niektorymi regulkami w glownym katalogu domeny.

RewriteEngine Off

czyli tak naprawdę mod_rewrite jest wyłączony.

Pozdrawiam