![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 14.10.2013 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Mam pewien problem nad którego rozwiązaniem pracuje już dobry tydzień. Wykupiłem hosting na 1and1 i mam kłopot z przyjaznymi linkami. To zawartość mojego .htaccess:
Problem pojawia się tylko i wyłącznie w tym: RewriteRule ^img/(.*)/(.*)/$ /img.php?id=$1 [L] Link generuje się prawidłowo na stronie - jak w niego klikam, to nie wysyła go do paska adresu, a przeładowuje stronę. Tak jakbym ciągle odświeżał, to samo dzieje się jak skopiuje link i wrzuce w pasek adresu. Wyrzuca mi stronę główną. oraz w tym: RewriteRule ^user/(.*)/(.*)/$ /user.php?id=$1 [L] tutaj problem polega na tym, że wpisuje adres, ale samoczynnie dodaje na końcu "index.php". Więc link wygląda tak: /user/2/wishermil/index.php Do tego wyrzuca komunikat, że "strona zawiera pętlę przekierowań". Konsultowałem się z supportem 1and1, otrzymałem taką odpowiedź: Cytat Każdy serwer apache posiada inną odpowiednią konfigurację, indywidualną dla danego usługodawcy. Specyfikacja techniczna naszej konfiguracji: http://httpd.apache.org/docs/2.2/de/howto/htaccess.html http://faq.1and1.pl/help/d579129.html Z góry dziękuje za wsparcie, bo już nie wiem gdzie szukać rozwiązania. Ten post edytował Wishermil1 14.10.2013, 17:24:15 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 287 Pomógł: 10 Dołączył: 22.08.2009 Ostrzeżenie: (0%) ![]() ![]() |
Zacznij od wyrzucenia tego kawałka kodu:
Kod RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] Następnie dodaj po "RewriteBase / " kod: Kod RewriteCond %{REQUEST_URI} ^/$ RewriteCond %{REQUEST_URI} !^/index.php [NC] RewriteRule ^$ /index.php [R=301,L] Muszę czepić się jednej rzeczy, która jest nagminnie stosowana przez początkujących. W kodzie masz coś takiego: Kod RewriteRule ^user/(.*)/(.*)/$ /user.php?id=$1 [L] Pamiętaj o tym, aby tworzyć bardziej "wymagające" wyrażenie tzn. ściśle kontroluj przesyłane dane. Nawiązując do powyższego przykładu możesz zrobić coś takiego: Kod RewriteRule ^user/([0-9]+)/([A-Za-z0-9\-)/$ /user.php?id=$1 [L] Takie rozwiązania w znacznym stopniu ułatwiają namierzanie ewentualnych problemów w plikach htaccess i w niewielkim stopniu wprowadzają małe "zabezpieczenie". -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 18:51 |