Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mod_rewrite] każdy request do index.php
Forum PHP.pl > Forum > Serwery WWW > Apache
chmolu
Witam,

próbuję zrealizować nice urle w swoim skrypcie, jednak utknąłem na jednej rzeczy. Chcę, żeby każdy request był przekierowywany do pliku index.php, niezależnie od tego, czy wpiszemy:

http://mysite.com/forum
http://mysite.com/artykuly/kategoria

Wszystko ma być obsłużone przez http://mysite.com/index.php

Ułożyłem co prawda coś takiego:

RewriteEngine On
RewriteRule .* index.php

Ale znowu kaszani mi to ścieżki do szablonów, styli i obrazków. Moje pytanie brzmi:
jak w RewriteRule ignorować wybrane katalogi? Chcę, żeby wszystkie adresy poza http://site.com/templates były przekierowywane do index.php.

Próbowałem z czymś takim:
RewriteEngine On
RewriteRule !^(templates|uploads)/ index.php

ale nie działa
Indianin
kiedys znalazlem takie cos :
RewriteRule ^(includes|templates|javascript|mysqldumper) - [L]
u mnie dziala dziala
chmolu
...a u mnie nie
nrm
jak masz glupia konfiguracje serwera to pokombinuj z BaseHref
FiDO
Dodaj do sekcji <head> na stronie:
  1. <base href="http://mysite.com/index.php" />


To nie ma zwiazku z konfiguracja Apacha. Po prostu gdy stosuje sie tego typu URL'e to bedac np. na stronie http://mysite.com/index.php/jakas/podstrona i majac na niej odwolanie do plikow ze stylami/js czy czymkolwiek innym za pomoca linka wzglednego bedzie wygladalo tak: http://mysite.com/index.php/jakas/podstrona/style.css, co jak widac poprawne nie jest. Po dodaniu odpowiedniego <base href=...> wszystkie wzgledne linki (czyli w wiekszosci przypadkow style/js i obrazki) beda doklejane wlasnie do niego (nazwa pliku - w tym przypadku index.php - zostanie pominieta).
chmolu
Nie o to mi chodziło...
Ja właśnie chciałem się pozbyć index.php z adresu...

Problem już rozwiązałem -- polegął na tym, że nie uwzględniłem tego, że skrypt znajduje się w podkatalogu serwera.
nrm
sorry, nie o to mi chodziło, miałem na mysli
http://httpd.apache.org/docs/1.3/mod/mod_r...tml#RewriteBase

bo z tym czasem sa problemy na niektórych serwerach. ale dobrze, ze juz sobie poradziles. ja tam mam wszystko na rewrite biggrin.gif cale tytuly w urlach biggrin.gif
chmolu
normanos: chodziło właśnie o RewriteBase winksmiley.jpg

RewriteEngine On
Rewritebase /subkatalog/
RewriteRule !^(var|templates) index.php

DirectoryIndex index.php
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.