Skocz do zawartości
Mateusz Nejman

[PHP + htaccess] Przyjazne linki + zmienne

Rekomendowane odpowiedzi

Witajcie! Chciałbym zrobić przyjazne linki(zamiast artykul.php?a=1&b=2&c=3 jest artykul/1/2/3) i mam problem z odczytaniem a, b i c.

.htaccess:

RewriteEngine on
   RewriteCond %{HTTP_HOST} ^(www.)?localhost:8080/~test$ [NC]
   RewriteRule ^artykul/(.*)/(.*)/(.*)$ artykul.php?a=$1&b=$2&c=$3 [NC]

artykul.php

<?php
     echo $_GET['a'].',...,'.$_GET['b'].',...,'.$_GET['c'].', gotowe :D';
?>

Próbuję takim sposobem, ale ciągle pokazuje mi

,...,,...,, gotowe :D

POMOCY!!!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

# Turn on URL rewriting
RewriteEngine On

# Installation directory
RewriteBase /

# Protect hidden files from being viewed
<Files .*>
Order Deny,Allow
Deny From All
</Files>

# Protect application and system files from being viewed
RewriteRule ^(?:class|special|app)\b.* index.php/$0 [L]

# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f

# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

 

I potem przez $_SERVER['REQUEST_URI'] i z ktorego usuwasz $_SERVER['SCRIPT_NAME'] i potem jakis explode czy cos. Ogólnie sprawdź $_SERVER sobie var_dumpem i zobaczysz co tam jest.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dzięki wielkie! Mam teraz taki plik:

artykul.php

<?php
     $path = explode("/",$_SERVER['PATH_INFO']);
     echo $_SERVER['PATH_INFO'].'
';
     echo $path[1].',...,'.$path[2].',...,'.$path[3].', gotowe :D
';
     $a = $path[1];
     $b = $path[2];
     $c = $path[3];
?>
<table border="1">
     <tr>
         <td>$path[1]</td><td><?php echo $path[1]; ?></td>
     </tr>
     <tr>
         <td>$path[2]</td><td><?php echo $path[2]; ?></td>
     </tr>
     <tr>
         <td>$path[3]</td><td><?php echo $path[3]; ?></td>
     </tr>
     <tr>
         <td>$a</td><td><?php echo $a; ?></td>
     </tr>
     <tr>
         <td>$b</td><td><?php echo $b; ?></td>
     </tr>
     <tr>
         <td>$c</td><td><?php echo $c; ?></td>
     </tr>
</table>

i teraz jak wklepie http://localhost:8080/~test/artykul/25/05/98/, to odpowiednio w $path[0,1,2,3...] będę miał wartości od 25 do 98. Dzięki wielkie!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×