Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mod_rewrite
Forum PHP.pl > Forum > PHP
G. Skaruz
Mam problem z .htaccess
Kod
ForceType application/x-httpd-php
RewriteEngine On
Options +FollowSymlinks
RewriteBase /

RewriteRule ^czytaj/([0-9]+)/? czytaj.php?art=$1

Plik czytaj.php wygląda następująco
  1. <?
  2. print_r($_GET);
  3. ?>

Niestety przy wywołaniu http://localhost/mojsite/czytaj/13/
pojawia się tylko
Kod
Array ( )


Moduł mod_rewrite jest dołączony, testowałem dodając
Kod
RewriteRule test.htm http://www.onet.pl [R=301]

Po wpisaniu http://localhost/mojsite/test.htm nastąpiło przekierowanie.

Co może być przyczyną? Tak jakby parametry nie były przekazywane.
bendi
Regulka jest zle napisana
Kod
RewriteRule ^czytaj/([0-9]+)/? czytaj.php?art=$1

Oznacza ze adres (po domenie) ma sie zaczynac od czytaj a u Ciebie wyraznie nie zaczyna sie od czytaj, wiec polecam sprobowac tak:
Kod
RewriteRule czytaj/([0-9]+)/?$ czytaj.php?art=$1

Zamiast skupic sie na poczatku lepiej zakotwiczyc wyrazenie na koniec, bo rpzeciez adres ma sie konczyc jakas liczba.

A pozniej: 1 2
G. Skaruz
Oto wpisy w .htaccess
Kod
ForceType application/x-httpd-php
RewriteEngine On
Options +FollowSymlinks
RewriteBase /
RewriteRule czytaj/([0-9]+)/?$ czytaj.php?art=$1


Plik czytaj
Kod
<?
print_r($_GET);
?>


Wywołuję przez http://localhost/czytaj/13/
a daje to wynik: Array ( )

Przy odwołaniu
http://localhost/czytaj/13/?id=3
działa poprawnie:

Array ( [id] => 3 )

Zupełnie ine mam pojęcia gdzie szukać błędu. Czytałem już wiele różnych przykładów.


No i dziwna sytuacja, bo na serwerze providera (z Linuxem) działa poprawnie, a na Windowsie nie bardzo.
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.