Skocz do zawartości

Problem z pobieraniem zawartości bazy na podstawie URL


Dominik23

Rekomendowane odpowiedzi

Witam.

Moja strona pobiera kilkaset wierszy z bazy na podstawie URL-i po zmiennej $url2.

Plik .hatccess:

RewriteRule (.*)-(.*)\.html ?dzial=$1&str=$2

RewriteRule (.*)-(.*)-(.*)\.html ?dzial=$1&str=$2&podstronka=$3

Zmienna $dzial to katalog a $str to plik w katalogu i do tego momentu to dziala,

(przykład: domena.pl/katalog-plik.html)

ale gdy chce ustawić serwer aby wyświetlał informacje z bazy o adresie URL w danym pliku i katalogu to

wysypuje się błąd

(przykład: domena.pl/katalog-plik-https://wp.pl.html).

a taka konstrukcja dziala:

https://domena.pl/?dzial=katalog&str=pl...ka=https://wp.pl

lub

https://domena.pl/?dzial=katalog&str=pl...onka=$url2

Chciałbym aby moja strona wyświetlala normalny adres nie dynamiczny.

Jeżeli macie jakieś sugestie lub pomysł na skrypt to proszę bez ograniczeń.

Witryna Biznesu - najlepsza promocja biznesu w sieci.

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki ale te skrawki kodu miałem właśnie w takiej kolejności jak podałeś,

co do str_replace nie mam problemu z wyświetleniem w pętli poprawnego układu linku bez https:// z wykożystaniem str_replace prowadzącego do np. domena.pl/katalog-plik-https://wp.pl.html

lecz z wyświetleniem wyniku dla danego wiersza z bazy w domena.pl/katalog-plik-https://wp.pl.html bo nie wyszukuje takowego bo w bazie mam w wierszach adresy zapisane z https://

$pokaz = "SELECT * FROM $tabela WHERE url2 = '$url2' ORDER BY id DESC LIMIT 1";

$rezultat = mysql_query($pokaz, $connection);

while($wiersz = mysql_fetch_array($rezultat)) {

$wynik1 = $wiersz['wynik1'];

$wynik2 = $wiersz['wynik2'];

$url1 = $wiersz['url2'];

$url2 = str_replace("https://","",$url1);

echo "$url2";

echo "$wynik1"; }

Po prostu nie potrafi wyszukać wiersza odpowiadającego bez https:// bo takiego nie ma w bazie.

Jak baze oszukać aby wyświetlała się zawartość bazy dla np. domena.pl/katalog-plik-https://wp.pl.html?

Witryna Biznesu - najlepsza promocja biznesu w sieci.

Odnośnik do komentarza
Udostępnij na innych stronach

Chodziło mi o to żebyś nie stosował w adresie slash'y i dwukropków.

Usuwając np https:// z adresu:

$url2 = 'https://wp.pl';
$url2 = str_replace("https://","",$url2);

adres będzie wyglądał tak:

domena.pl/?dzial=katalog&str=plik&podstronka=wp.pl

Później dla zapytania możesz dokleić http'a albo użyć LIKE:

$url_z_http = 'https://'.$url2;
$pokaz = "SELECT * FROM $tabela WHERE url2 = '$url_z_http' ORDER BY id DESC LIMIT 1";

Odnośnik do komentarza
Udostępnij na innych stronach

RewriteRule (.*)-(.*)-(.*)\.html ?dzial=$1&str=$2&podstronka=$3

RewriteRule (.*)-(.*)\.html ?dzial=$1&str=$2

RewriteRule (.*)\.html ?dzial=$1

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

$url_z_http = 'https://'.$url2;

$pokaz = "SELECT * FROM $tabela WHERE url2 = '$url_z_http' ORDER BY id DESC LIMIT 1";

$rezultat = mysql_query($pokaz, $connection);

$url2 = str_replace("https://","",$url2);

Ok. to działa bez https:// domena.pl/?dzial=katalog&str=plik&podstronka=wp.pl

ale to już nie domena.pl/katalog-plik-wp.pl.html :(

Czy przyczyną może być to że w urlu są dwie kropki ??

Witryna Biznesu - najlepsza promocja biznesu w sieci.

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności