2012-08-13 10 views
5

Mam witrynę, która pomyślnie przekazuje zawartość po pierwszym ukośniku do określonego pliku .php. (Elegancko: usunąć ".php")Jak przekazywać parametry w przepisach przepisywania z podaniem nazwy pliku .php?

site.com/azamat to site.com/azamat.php

RewriteCond %{REQUEST_FILENAME} !-d  
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php [NC] 

Jak mogę dodać dodatkowe parametry do tych reguł, więc mogę przejść "stronie" parametry, jak:

site.com/azamat/bagatov to site.com/azamat.php?page=bagatov

lub

site.com/thisisthefile/andparams to site.com/thisisthefile.php?page=andparams

Odpowiedz

2

spróbuj dodać te zasady (Keep te, które już posiadasz):

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} ^/([^/]+)/.+$ 
RewriteCond %{DOCUMENT_ROOT}/%1.php -f 
RewriteRule ^([^/]+)/(.+)$ /$1.php?page=$2 [L] 

Jest to mniej więcej jak to, co masz z wyjątkiem przy użyciu %1 wstecznych, aby sprawdzić, czy pierwsza część The URI istnieje jako plik php. Jest to mecz do pierwszej części:

RewriteCond %{REQUEST_URI} ^/([^/]+)/.+$ 

I to jest fheck aby sprawdzić, czy grupowanie ([^/]+) istnieje jako plik PHP:

RewriteCond %{DOCUMENT_ROOT}/%1.php -f 

wszystko jest dopasować co po pierwszym / i sprawiają, że ciąg znaków zapytania zapytania page param.