Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: mod_rewrite, niezła zagwozdka
Forum PHP.pl > Forum > Serwery WWW
neverever
Mam poważną zagwozdke sad.gif

mam strone:
Kod
http://www.takasemojastrona.pl/index.php

do obslugi korzystam z kilku używanych pojedyńczo parametrów: go,k,r,m,p

i interesuje mnie tu zwłaszcza jeden, m
przykładowy link z jego użyciem:
Kod
http://www.takasemojastrona.pl/index.php?m=23


wykorzystany jest do odczytu z bazy mysql z tabeli zawierającej pola:
id, nazwa, ...

Problem w tym, że chciał bym uzyskać link o postaci:
Kod
http://www.takasemojastrona.pl/miasto-nazwa.htm

gdzie miasto jest stałym słowem a nazwa to nazwa tego miasta z tabeli pod określonym id, tu 23

czy mod_rewrite można połączyć jakoś z bazą mysql?

Jak to rozwiązać?
kicaj
Rozumiem ze `m` zawiera id danego pola wiersza w bazie, zamien id na nazwe miasta, a bedziesz mogl zrobic taki link jak chcesz za pomoca mod_rewrite
neverever
Cytat(kicaj @ 14.08.2007, 10:48:16 ) *
Rozumiem ze `m` zawiera id danego pola wiersza w bazie, zamien id na nazwe miasta, a bedziesz mogl zrobic taki link jak chcesz za pomoca mod_rewrite

Wiem Co masz na myśli, niestety nazwa nie jest wartością unikalną jak id. -to też mi uzmysłowiło, że chyba jednak muszę w jakiejś formie to id w linku.

bardziej realnym był by zatem
Kod
http://www.takasemojastrona.pl/23/miasto-nazwa.htm
albo coś w tym stylu

Tak czy inaczej i tak szukam sposobu na wykonanie zapytania do bazy i pobranie przez mod_rewrite odpowiedniej wartości.

Czyli:
1. mam http://www.takasemojastrona.pl/index.php?m=23
2. mod_rewrite pobiera z bazy odpowiednią nazwe dla danego id i przepisuje
3. otrzymuję np http://www.takasemojastrona.pl/23/miasto-nazwa.htm

Znalazłem dwie interesujące stronki, ale nie potrafię tego wykorzystać
http://camaya.net/modrw
http://www.thescripts.com/forum/thread631658.html

Był bym wdzięczny gdyby ktoś mnie poratował.

ps.
Temat poruszyłem jeszcze na tym forum http://forum.dobreprogramy.pl/viewtopic.php?t=178279 -może nawet lepiej jest tam wyjaśnione o co mi chodzi
kicaj
Artykul jednego z forumowiczow: http://sf.jogger.pl/2007/05/02/mod-rewrite-w-przykladach/
neverever
Cytat(kicaj @ 14.08.2007, 14:08:58 ) *
Ok, czytałem juz ale z mod_rewrite dopiero zaczynam wstydnis.gif

Mniejsza o to, mam adresy:
Cytat

chcę je przepisać kolejno na postać:
Cytat

Kombinowałem tak:
Cytat
RewriteEngine On
RewriteRule ^mapa/kraj-([0-9]+)/(.+)\.html$ index.php?k=$1&d=$2 [L]
RewriteRule ^mapa/miasto-([0-9]+)/(.+)\.html$ index.php?m=$1&d=$2 [L]
RewriteRule ^mapa/punkt-([0-9]+)/(.+)\.html$ index.php?p=$1&d=$2 [L]

i g^*no z tego, nawet pojedyńczo nie działa.

Jak to powinno wyglądać prawidłowo??
AxZx
np tak

Kod
RewriteEngine On
RewriteRule ^mapa\/kraj-([0-9]+)\/([^./]+)\.html$ index.php?k=$1&d=$2 [L]
RewriteRule ^mapa\/miasto-([0-9]+)\/([^./]+)\.html$ index.php?m=$1&d=$2 [L]
RewriteRule ^mapa\/punkt-([0-9]+)\/([^./]+)\.html$ index.php?p=$1&d=$2 [L]


albo tak

Kod
RewriteEngine On
RewriteRule ^mapa\/kraj-([0-9]+)\/(.*)\.html$ index.php?k=$1&d=$2 [L]
RewriteRule ^mapa\/miasto-([0-9]+)\/(.*)\.html$ index.php?m=$1&d=$2 [L]
RewriteRule ^mapa\/punkt-([0-9]+)\/(.*)\.html$ index.php?p=$1&d=$2 [L]
neverever
działa ...ale co najlepsze sypie mi się układ strony, nie wyświetla mapki googlemaps itd.
co ciekawe wszedłem na podgląd źródła i kod jest identyczny a jednak przez te przepisane linki strona wcale nie wygląda - wszystko rozpierniczone.

Co na to można poradzić??

inna sprawa, to chciał bym by pozostałe adresy nie ulegały zmianie,
a /index.php?go=szukaj zmieniony był np. na /go-szukaj
revyag
Dodaj taga base
  1. <base href="http://www.adres.pl/" />
neverever
Cytat(revyag @ 22.08.2007, 00:16:46 ) *
Dodaj taga base
  1. <base href="http://www.adres.pl/" />
nic nie daje sciana.gif

jakieś inne propozycje?
vokiel
mzoe w .htaccess dodaj

Kod
RewriteBase /
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.