Skocz do zawartości

[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!!!

Odnośnik do komentarza
Udostępnij na innych stronach

  • Administratorzy

# 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.

Odnośnik do komentarza
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!

Odnośnik do komentarza
Udostępnij na innych stronach

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

Jedynie 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ę poniżej.

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

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