![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam spore trudności z ustawieniem przyjaznych linków. Przeglądałem dużo materiałów a mimo to nie udało mi sie...
na swojej stronie w index używam : if (isset($_GET['page'])) { require_once '' . $_GET['page'] . '.php'; } menu: <a href="?page=firma">O nas</a> <a href="?page=kontakt">kontakt</a> w tej chwili struktura wygląda tak www.adres.pl/?page=firma chcę osiągnąć taka strukture www.adres.pl/firma .htaccess działa poprawnie, sprawdzałem Bardzo proszę o pomoc. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Ustaw bezpośrednio w kodzie strony:
<a href="./firma">O nas</a> <a href="./kontakt">kontakt</a> A .htaccess załatwia sprawę wyświetlania (przepisywania adresów) podstrony ?page=firma przy wejściu na /firma, czy ?page=kontakt po wyświetleniu /kontakt, zależnie od reguł w nim się znajdujących. dodane: Ogólnie to ja preferuję ruter w php, a .htaccess jedynie ma kierować cały ruch do index.php. Dzięki temu unikamy od razu problemów z dublowaniem adresów w .htaccess (że strona działa zarówno pod ?page=kontakt i /kontakt) i nie bawimy się w dodatkowe regułki by tego unikać. Ten post edytował kreatiff 24.11.2014, 23:47:26 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
mógłbyś mi pokazać to na moim przykładzie? po zmianie menu link wygląda ładnie ale nie znajduje strony. Czy takie rozwiązanie uruchamia pod stronę przez index?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Jeśli nie znajduje strony, to znaczy, że nie działa przepisywanie linków w .htaccess.
W .htaccess musi się znaleźć coś takiego: RewriteRule ^kontakt$ index.php?page=kontakt [NC,L] albo bardziej ogólnie (ten przykład trzeba sobie dopracować, by we wzorze (.*) puszczał tylko znaki alfanumeryczne i interpunkcyjne jeśli się trafią, zamiast dowolnych znaków) RewriteRule ^(.*)$ index.php?page=$1 [NC,L] Ten post edytował kreatiff 25.11.2014, 00:13:24 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
działa super
![]() Próbuje rozkminić RewriteRule ^(.*)$ index.php?page=$1 [NC,L] Fatal error: require_once() [function.require]: Failed opening required 'index.php.php' (include_path='.') w require_once '' . $_GET['page'] . '.php'; |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 069 Pomógł: 497 Dołączył: 11.05.2007 Skąd: Warszawa ![]() |
Zdajesz sobie sprawę że twój kod includowania podstron jest niebezpieczny? Poczytaj o LFI/RFI
https://www.owasp.org/index.php/Testing_for..._File_Inclusion |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 0 Dołączył: 6.11.2012 Ostrzeżenie: (0%) ![]() ![]() |
dzięki za poradę.
rozwiązałem to w tej chwili na sztywno, czyli do każdego linku warunek. Mam jeszcze ogromną prośbę mam coś takiego jak przesyłanie po GET danych do formularza. <a href="./kontakt&produkt='.$produkt.'">Zadaj pytanie »</a> jak dokładnie do tego linku będzie wyglądać RewriteRule? |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 12.06.2025 - 17:16 |