Możliwe duplikaty:
mod_rewrite, php i plik .htaccess
Chciałbym, aby tak się stało w pliku .htaccess. przepisać
index.php?pagetype=name
do
/pagetype/name/
zrób to dla wszystkich rodzajów stron
?user=name
?post=number
?life=sucks ... etc
ale chciałbym wykluczyć
/css/
/images/
/js/
/php/
/template/
więc zmienne linki nadal działają.
Zgaduję, że to powinno działać, ale chcę, aby było to w najprostszej formie, więc nie muszę zmieniać pliku .htaccess za każdym razem, gdy dodam typ strony.
Szukałem tego, ale nie znalazłem nic pomocnego.
Witryna będzie miała tylko jeden fizycznie dostępny plik: index.php, a następnie pozostałe są przetwarzane za pomocą poleceń $ _GET
Odpowiedzi:
1 dla odpowiedzi № 1Tylko w podanym przykładzie najprostszym podejściem byłoby:
RewriteCond %{REQUEST_URI} !^/(css|images|js|php|template)/
RewriteRule ^(w+)/(w+)/?$ index.php?$1=$2 [QSA,L]
(RewriteCond można oczywiście zapisać w regule jako negatywny lookeahead).
Zobacz także mod-rewrite tag wiki dla dalszych poradników.