![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Stworzyłem i nadal tworzę prostą stronę internetową, przy której chciałbym wykorzystać plik htaccess do przyjaznych adresów. Nie działa mi jednak przepisanie. Czy mógłby mi ktoś podpowiedzieć gdzie jest błąd. Wszytko odbywa się póki co na serwerze lokalnym xampp. Adres wyświetlający się w przeglądarce to: znajdz-produkt?produkt=nazwaproduktu Chciałbym żeby ten adres wyglądał tak: znajdz-produkt/produkt/nazwaproduktu Kod w pliku htaccess jest następujący: ### PROTECT FILES ### <FilesMatch "\.(htaccess|htpasswd|ini|fla|psd|log|sh)$"> Order Allow,Deny Deny from all </FilesMatch> Options FollowSymLinks RewriteEngine On Options -Indexes DirectoryIndex index.php RewriteRule znajdz-produkt znajdz.php RewriteRule ^index.html$ index.php RewriteRule ^znajdz-produkt/produkt/([^-]*)$ znajdz-produkt?produkt=$1 [L] Prośba o podpowiedź. |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 556 Pomógł: 40 Dołączył: 20.07.2012 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
poczytaj o routingu bo imo w ogóle źle się do tego zabierasz a przykładów jest milion
po krótce index.php->routing(skrypt/klasa/funkcja rozpoznająca parametry z url i dobierająca kod do wykonania)->wykonanie i przykład RewriteRule ^znajdz-produkt/([A-Za-z0-9-]+)$ index.php?action=findProduct&produkt=$1 [L] gdzie action -> skrypt wykonujący w tym wypadku findProduct produkt -> to czego szukamy Ten post edytował kayman 17.11.2016, 19:09:57 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
A czy adresy na Twojej stronie (w kodzie html) wyglądają tak: znajdz-produkt/produkt/nazwaproduktu czy tak: znajdz-produkt?produkt=nazwaproduktu?
-------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat chciałbym wykorzystać plik htaccess do przyjaznych adresów - zły pomysł, bo:- każda zmiana adresu to zmiana .htaccess - trudność w debugowaniu (gdy coś nie działa) Uzupełnię to co napisał kayman: 1. Aplikacja ma jeden punkt wejścia (zazwyczaj public/index.php) gdzie trafiają wszystkie adresy typu .pl/cos-tam-ktos,23.html, .htaccess jedynie przekierowuje wszystkie URLe na ten punkt. 2. Adresy są kodowane i dekodowane przez coś, co się nazywa Router, zasady sobie określasz sam, np. moduł/kontroler/akcja albo /nazwa/parametr Reasumując: URLe piszesz w PHP a nie .htaccess. |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Po prostu zmień.
Przyjazne linki działają w ten sposób, że w kodzie mają być umieszczone właśnie w takiej postaci, a zadaniem .htaccess czy routera jest ich "obróbka". -------------------- |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
W pliku index.php mam taki odnośnik do pliku znajdz.php. Po kliknięciu w nazwę produktu w index.php następuje przekierowanie do do pliku znajdz.php z nazwą produktu. Tylko postać linku chciałbym zmienić...
W pliku htaccess mam RewriteRule znajdz-produkt znajdz.php |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 799 Pomógł: 1827 Dołączył: 11.03.2014 Ostrzeżenie: (0%) ![]() ![]() |
Jeszcze raz napiszę, to zmień ten link.
-------------------- |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 12 Pomógł: 0 Dołączył: 13.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
Tylko jak zmienię link i chcę przesłać zmienną, to i tak w linku zostanie dopisana "formuła" ....?produkt=nazwaproduktu?
"trueblue" nie podałbyś jakiegoś wzoru, przykładu? pzdr |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 220 Pomógł: 18 Dołączył: 5.02.2016 Skąd: Polska Ostrzeżenie: (0%) ![]() ![]() |
Cytat Adres wyświetlający się w przeglądarce to: znajdz-produkt?produkt=nazwaproduktu Chciałbym żeby ten adres wyglądał tak: znajdz-produkt/produkt/nazwaproduktu
Próbuj. Też miałem przed chwilą problem z mod_rewrite i to wyżej mi zadziałało. Co istotne, zmień adresy na znajdz-produkt/produkt/blabla a nie zmienne ?produkt=blabla Ten post edytował Niree 22.11.2016, 16:15:53 |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 82 Pomógł: 0 Dołączył: 27.02.2014 Ostrzeżenie: (0%) ![]() ![]() |
jak Ci potrzeba tylko w tym przypadku to proponuje skorzystać z generatora
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.06.2025 - 05:45 |