[Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Moderatorzy: Moderatorzy, Administratorzy
[Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Witam serdecznie.
Strasznie się męczę szukając regułek przekierujących przykładowy adres:
http://domena.com/domek --> http://domena.com/index.php/domek
Na pewno będzie:
RewriteEngine on
Przydało by się jeszcze ukryć to u klienta "[L]"
Gdyby ktoś biegły w temacie coś doradził będę wdzięczny.
Pozdrawiam
Strasznie się męczę szukając regułek przekierujących przykładowy adres:
http://domena.com/domek --> http://domena.com/index.php/domek
Na pewno będzie:
RewriteEngine on
Przydało by się jeszcze ukryć to u klienta "[L]"
Gdyby ktoś biegły w temacie coś doradził będę wdzięczny.
Pozdrawiam
Ostatnio zmieniony 2007-11-25, 21:04 przez Matti, łącznie zmieniany 1 raz.
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
RewriteEngine on
RewriteRule (.*) index.php/$1
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Coś jeszcze chyba muszę dorzucić do podanego przez Ciebie rozwiązania.
Użycie dokładnie tego co podałeś powoduje "Internal server error 500".
Pozdrawiam
Użycie dokładnie tego co podałeś powoduje "Internal server error 500".
Pozdrawiam
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Prawdopodobnie wina leży po Twojej stronie, ponieważ wątpię, żebyś miał coś takiego jak index.php/domek. W końcu jak w pliku może być katalog?
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Zielony, jednak moze
przykladowy link z gry, czy czasem php5 nie ma takiej opcji
Kod: Zaznacz cały
http://s1.delirium.wp.pl/index.php/strategy/gameobject/action/list_civ/
- Sad Mephisto
- Administrator
- Posty: 2824
- Rejestracja: 2004-05-22, 13:24
- Lokalizacja: Zabrze
- Kontakt:
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Matti, Wywal wszystkie ukrywacze typu [P] i zobacz, jaki adres został wygenerowany. Osobiście obstawiałbym takie rozwiązanie:
Rozwiązanie zaproponowane przez Zielonego może generować podwójnego slasha po index.php
Kod: Zaznacz cały
RewriteRule ^(.*)$ http://..../index.php$1
[i]Thank you for noticing this notice. Now that you've noticed this notice, you may have noticed that this notice is noticably unnoticable.
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
$ python -c "print int(''.join(map(lambda x: str(len(x)),'Kto z woli i myśli zapragnie Pi spisać cyfry ten zdoła.'.split())))/1e+10"[/i]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Zielony jeśli chodzi o ten domek to tylko przykład Testowałem to u siebie na localhost i na innym serwerze ale efekt jest ten sam. Error 500. U mnie wystarczy wpisać localhost i już jest błąd.
Co do przykładu Sada to link wygląda ciekawie:
Ps
Uciąłem dalsze index.php bo było ich więcej.
Co do przykładu Sada to link wygląda ciekawie:
Kod: Zaznacz cały
http://localhost/index.phpindex.phpindex.phpindex.phpindex.phpindex.php
Uciąłem dalsze index.php bo było ich więcej.
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Przykład Sada zostaje wywołany rekurencyjnie - dlatego tak wygląda adres.
Powiedz nam, w jaki sposób przyjmuje parametry ten skrypt. Czy aby na pewno to jest index.php/parametr?
topdolar: Tam właśnie może być zastosowany mod_rewrite, żeby adres wyglądał w taki sposób. W każdym razie jednak nie wykluczam takiej funkcjonalności PHP 5.
Powiedz nam, w jaki sposób przyjmuje parametry ten skrypt. Czy aby na pewno to jest index.php/parametr?
topdolar: Tam właśnie może być zastosowany mod_rewrite, żeby adres wyglądał w taki sposób. W każdym razie jednak nie wykluczam takiej funkcjonalności PHP 5.
Ostatnio zmieniony 2007-11-22, 22:16 przez Zielony, łącznie zmieniany 1 raz.
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Index.php wywołuje pewien obiekt a on robi coś takiego :
Nie wydaje mi się żeby to miało jakikolwiek wpływ na mod_rewrite. Chodzi mi o uzyskanie dość przyzwoitych URLi sterowanych jedynie przez index.php.
Kod: Zaznacz cały
$this->link_master = explode( '/', substr( $_SERVER['REQUEST_URI'], 1) );
switch ($this->link_master[1]) {
case "bla":
echo "hoho";
break;
}
Ostatnio zmieniony 2007-11-22, 22:44 przez Matti, łącznie zmieniany 1 raz.
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
A może w ten sposób:
?RewriteEngine on
RewriteRule index.php/(.+)$ index.php/$1
RewriteRule ^(.+)$ index.php$1
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Nie wiem, może mam coś nie tak z serwerem bo przykład Zielonego też wywala internal server error 500.
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Daj nam logi.
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Po wpisaniu adresu http://localhost/bla rewrite.log daje takie komunikaty.
Kod: Zaznacz cały
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (3) [per-dir /usr/local/apache2/htdocs/] strip per-dir prefix: /usr/local/apache2/htdocs/bla -> bla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (3) [per-dir /usr/local/apache2/htdocs/] applying pattern 'index.php/(.+)$' to uri 'bla'
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (3) [per-dir /usr/local/apache2/htdocs/] strip per-dir prefix: /usr/local/apache2/htdocs/bla -> bla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (3) [per-dir /usr/local/apache2/htdocs/] applying pattern '^(.+)$' to uri 'bla'
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (2) [per-dir /usr/local/apache2/htdocs/] rewrite bla -> index.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (3) [per-dir /usr/local/apache2/htdocs/] add per-dir prefix: index.phpbla -> /usr/local/apache2/htdocs/index.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (2) [per-dir /usr/local/apache2/htdocs/] strip document_root prefix: /usr/local/apache2/htdocs/index.phpbla -> /index.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82e3550/initial] (1) [per-dir /usr/local/apache2/htdocs/] internal redirect with /index.phpbla [INTERNAL REDIRECT]
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (3) [per-dir /usr/local/apache2/htdocs/] strip per-dir prefix: /usr/local/apache2/htdocs/index.phpbla -> index.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (3) [per-dir /usr/local/apache2/htdocs/] applying pattern 'index.php/(.+)$' to uri 'index.phpbla'
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (3) [per-dir /usr/local/apache2/htdocs/] strip per-dir prefix: /usr/local/apache2/htdocs/index.phpbla -> index.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (3) [per-dir /usr/local/apache2/htdocs/] applying pattern '^(.+)$' to uri 'index.phpbla'
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (2) [per-dir /usr/local/apache2/htdocs/] rewrite index.phpbla -> index.phpindex.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (3) [per-dir /usr/local/apache2/htdocs/] add per-dir prefix: index.phpindex.phpbla -> /usr/local/apache2/htdocs/index.phpindex.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (2) [per-dir /usr/local/apache2/htdocs/] strip document_root prefix: /usr/local/apache2/htdocs/index.phpindex.phpbla -> /index.phpindex.phpbla
127.0.0.1 - - [24/Nov/2007:20:18:56 +0100] [localhost/sid#8159d78][rid#82aae38/initial/redir#1] (1) [per-dir /usr/local/apache2/htdocs/] internal redirect with /index.phpindex.phpbla [INTERNAL REDIRECT]
...
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
W takim razie tak:
RewriteEngine on
RewriteRule index.php/(.+)$ index.php/$1
RewriteRule ^(.+)$ index.php/$1
Żyję - nie każdemu się zdarza - a we krwi mam chlorofil.
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
[url=http://scxd.info/][img]http://scxd.info/pub/scxdbar/scxd-bar.png[/img][/url]
[b]Registered User #448882[/b]
[img]http://scxd.info/say/img.php[/img]
Re: [Rozw.] mod_rewrite - ukrywanie index.php w adresie URL
Ok zrobiłem kolejny test:
Teraz jest błąd:
Uprawnienia do wszystkich plików w htdocs ustawiłem na 777.
Teraz jest błąd:
Kod: Zaznacz cały
You don't have permission to access /index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/bla/bla/index.php on this server.