Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Sposoby na proste urle
-kototi-
post 6.03.2013, 13:50:08
Post #1





Goście







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]

Go to the top of the page
+Quote Post
Randallmaster
post 6.03.2013, 14:12:22
Post #2





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

Ostrzeżenie: (0%)
-----


http://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/
Go to the top of the page
+Quote Post
-kototi-
post 6.03.2013, 14:26:25
Post #3





Goście







A mógłby ktoś mi pomóc na moim przykładzie, bo nie łapie się w tym artykule.
Go to the top of the page
+Quote Post
aras785
post 6.03.2013, 14:36:05
Post #4





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
-kototi-
post 6.03.2013, 14:38:48
Post #5





Goście







dokładnie o coś takiego mi chodzi. A linków nie mogę zmienić bo na ich podstawie pobieram rekordy z bazy danych.
Go to the top of the page
+Quote Post
aras785
post 6.03.2013, 14:59:41
Post #6





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


Jeśli zmienisz to dalej będzie Ci pobierać przecież smile.gif
Go to the top of the page
+Quote Post
-kototi-
post 6.03.2013, 15:14:35
Post #7





Goście







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
Go to the top of the page
+Quote Post
nospor
post 6.03.2013, 15:16:38
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
aras785
post 6.03.2013, 20:30:49
Post #9





Grupa: Zarejestrowani
Postów: 859
Pomógł: 177
Dołączył: 29.10.2009

Ostrzeżenie: (0%)
-----


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. }
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:52