![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 4 Dołączył: 12.09.2006 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Witam, męcze się już z tym pare godzn nad problem regułek oto zawartość .htaccess
Kod RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]*)$ index.php?module=$1 [L] RewriteRule ^([^/]*)/([^/]*)$ index.php?module=$1&plugin=$2 [L] RewriteRule ^([^/]*)/([^/]*)/([*])$ index.php?module=$1&plugin=$2&id=$3 [L] Po wpisaniu adresu www.NazwaStrony.pl/Coś strona ładnie się pokazuje i działa tak jak należy ($_GET['module'] == 'Coś') Po wpisaniu adresu www.NazwaStrony.pl/Coś/Coś2 strona ładnie się pokazuje i działa tak jak należy ($_GET['module'] == 'Coś' && $_GET['plugin'] == 'Coś2') Natomiast przy wpisaniu adresu www.NazwaStrony.pl/Coś/Coś2/Coś3 apache wyświetla nam 404 dodam że również z ostatnią regułką wyglądającą w ten sposób: Kod RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ index.php?module=$1&plugin=$2&id=$3 [L] dzieje się to samo ( Error 404 )Co z tym fantem zrobić? Pytanie 2: Czy zasadniczo mod_rewrite ma prawo dzialac inaczej (te same regulki) na rożnych serwerach? U mnie na Linuxowym apache (Localhost) nie działają kompletnie, jeżeli wyśle je na dedyka równiez z linuxowym apache dzialają jak należy (Oczywiście poza tą 3 regułką) Z góry bardzo dziękuje za pomoc, pozdrawiam MiFlo |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
Kod RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ test.php?module=$1&plugin=$2&id=$3 [L] To działa na pewno, ctrl + f5 wciskaj bo często cachuje przy takich przekierowaniach, można też to zrobić np. tak: Kod RewriteRule ^([^/]*)/([^/]*)/(.*)$ test.php?module=$1&plugin=$2&id=$3 [L] Co do pytanie drugiego to trzeba ustawić RewriteBase by lokalnie dobrze działało, czasem i na serwerach trzeba go użyć. -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 4 Dołączył: 12.09.2006 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
Z RewriteBase kombinowałem podawałem scieżkę bezwzględną do katalogu z plikami ( /home/user/public_html/nazwa ) jednak nic to nie zmienia.
Co do samej reguły fakt działa lecz jak ona jest nie dzie mi się dostać do plików które są w katalogu od głównego... (chodzi dokladnie o styl css, ale i wiele innych ważnych plików tracimy dostęp) pokazuje się strona zamiast pliku mimo że na początku .haccessa jest napisane że jeżeli pliki istnieje to ma wskazać na niego... Edit: Z ustawieniem RewriteBase na poprawne (w .htaccess) dalej dzieje się to dosamo bląd 404 a log z apacha wygląda następująco: Kod [Sat Oct 17 19:26:12 2009] [error] [client 127.0.0.1] File does not exist: /srv/www/htdocs/home, referer: http://127.0.0.1/~MiFlo/strona/ Czyli mimo ustawienia RewriteBase w .htaccess, jest ono ignorowane i zapisane w jakimś pliku konfiguracyjnym i ustawione na katalog /srv/www/htdocs, przynajmniej tak mi się wydaje Edit2: Ustawilem w pliku konfuguracyjnym apache2 żeby wskazyład na dobry katalog mimo to dalej jest 404 po na stronie nie ma katalogu home, czyli tak jakby regułka nie działała ale rewrite działa bo sam mi wywala błąd że nie może znaleśc tego katalogu.... Ten post edytował MiFlo 17.10.2009, 18:44:55 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 597 Pomógł: 30 Dołączył: 19.02.2003 Skąd: Tychy Ostrzeżenie: (0%) ![]() ![]() |
RewriteBase /~MiFlo/strona/
z tego co widzę to tak powinien wyglądać U mnie nie ma problemu z dostępem do plików *.css, *.img. Wszystko działa ok z kodem, który Ci podałem. -------------------- Zapraszam na mój php blog, tworzenie stron.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 92 Pomógł: 4 Dołączył: 12.09.2006 Skąd: 127.0.0.1 Ostrzeżenie: (0%) ![]() ![]() |
RewriteBase które podałeś rozwiązało pytanie 2, wielkie dzięki jednak po dodaniu:
Kod RewriteRule ^([^/]*)/([^/]*)/([^/]*)$ index.php?module=$1&plugin=$2&id=$3 [L] na lokalnym serwerze jak i na dedyku dzieje się to samo, brak dostępu do plików ;/Edit: Rozwiązalem problem: Kod RewriteRule ^([^/]*)/([^/]*)/([^.]*)$ index.php?module=$1&plugin=$2&id=$3 [L] Wielkie dzięki za pomoc! Ten post edytował MiFlo 17.10.2009, 22:20:47 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 16:17 |