Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sposoby na proste urle
Forum PHP.pl > Forum > Przedszkole
kototi
Witam.

Używam metody Mod Rewrite do tworzenia przyjaznych linków. Mam tylko problem, nie wiem co zrobić żeby kliknięcie w link, np.:

www.adres.pl/index.php?p=kategoria1

sprawiło żeby w pasku adresu wyświetlał się link w takiej postaci: www.adres.pl/kategoria1, nie wiem jak do tego doprowadzić,

a np. jak bezpośrednio w pasku wpisze: www.adres.pl/kategoria1 to strona działa.

  1. RewriteEngine ON
  2. RewriteRule ^$ INDEX.php
  3. RewriteRule ^kategoria1$ INDEX.php?p=kategoria1 [L]

kototi
A mógłby ktoś mi pomóc na moim przykładzie, bo nie łapie się w tym artykule.
aras785
Tobie chodzi o to, że jak klikniesz na link: www.adres.pl/index.php?p=kategoria1 to nagle pojawi Ci się w pasku: www.adres.pl/kategoria1 questionmark.gif Nie wiem czy w htaccess jest coś takiego jak zmiana linków w locie, jeśli nie to musisz zmienić w całej aplikacji linki smile.gif
kototi
dokładnie o coś takiego mi chodzi. A linków nie mogę zmienić bo na ich podstawie pobieram rekordy z bazy danych.
aras785
Jeśli zmienisz to dalej będzie Ci pobierać przecież smile.gif
kototi
Zrobiłem coś takiego i wydaje mi się że mogłoby to zadziałać dobrze:

  1. RewriteCond %{THE_REQUEST} ^.*INDEX.php
  2. RewriteCond %{QUERY_STRING} p=seriale$
  3. RewriteRule ^index.php(.*)$ seriale? [L,R=301]
  4. RewriteRule ^seriale$ INDEX.php?p=seriale [L]


ale...

wyskakuje mi błąd:
Zabroniony dostęp (error 403)
Nie masz dostępu do żądanego obiektu. Jest on zabezpieczony przed odczytem lub nie może być odczytany przez serwer.

i cały link mi się wtedy zmienia z prawidłowego: localhost/katalog/kategoria1 na: http://localhost/C:/xampp/htdocs/katalog/kategoria1

questionmark.gifquestionmark.gif
nospor
Słuchaj.... nie da się zrobić tego co chcesz....

Musisz wszystkie odwołania
www.adres.pl/index.php?p=kategoria1
na swojej stronie zamienic na
www.adres.pl/kategoria1
aras785
Jeśli masz wszystkie takie linki czyli po zmiennej $_GET['p'] to może to Ci pomoże:

Wstaw to w index.php na początku pliku smile.gif
  1. if(isset($_GET['p']) and !array_key_exists('REDIRECT_URL', $_SERVER)) {
  2. return header('location: '.$_GET['p']);
  3. }
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.