Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przekierowanie całego ruchu na jeden plik [SOLVED], czyli router bez użycia .htaccess
sowiq
post 19.08.2009, 09:41:51
Post #1





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Witam,
czy jest możliwość w pliku konfiguracyjnym Apache zrobić tak, aby wszystkie request'y kierowane były do jednego pliku? Ma to działać identycznie jak
Kod
RewriteRule (.*) router.php [L]
z .htaccess.

Ważne jest, że regułka ta musi się znaleźć w pliku konfiguracyjnym, bo pliki .htaccess mają być wyeliminowane. Dodam, że
Kod
DocumentRoot "[ścieżka]/router.php"
nie działa (Apache nie startuje).

Z góry dziękuję za sugestie.

Ten post edytował sowiq 19.08.2009, 10:58:29
Go to the top of the page
+Quote Post
ucho
post 19.08.2009, 10:41:50
Post #2





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


Masz dostęp do pliku konfiguracyjnego ale nie możesz używać mod_rewrite?. To chyba można co najwyżej:
-ustawić obsługę błędu 404 na router.php
-używać linków postaci /router.php/prawie_ładny_url
Go to the top of the page
+Quote Post
sowiq
post 19.08.2009, 10:56:50
Post #3





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


@ucho,
czytaj uważnie.
Cytat(sowiq @ 19.08.2009, 10:41:51 ) *
pliki .htaccess mają być wyeliminowane
Mogę użyć mod_rewrite i obecnie to robię, ale założenie jest takie, że ma nie być .htaccess'ów.

Problem rozwiązany. Na początku zrobiłem z obsługą 404 i DirectoryIndex, ale nie jest to chyba zbyt wydajne rozwiązanie. Znalazłem inne rozwiązanie i na jego podstawie stworzyłem coś takiego:
Kod
<VirtualHost *:80>
    ServerName mój_superaśny_VH
    DocumentRoot "[ścieżka]"
    Action php-parse "/router.php"
    SetHandler php-parse
</VirtualHost>


[edit]
Bardziej elegancki sposób.

Ten post edytował sowiq 19.08.2009, 12:01:10
Go to the top of the page
+Quote Post
ucho
post 19.08.2009, 12:24:41
Post #4





Grupa: Zarejestrowani
Postów: 300
Pomógł: 32
Dołączył: 31.07.2006

Ostrzeżenie: (0%)
-----


Bez sensu, skoro możesz używać mod_rewrite dlaczego nie zrobiłeś tego od razu tak:
Kod
<VirtualHost *:80>
RewriteRule (.*) router.php [L]
</VirtualHost>

?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 15.06.2025 - 23:38