mod_rewrite sadece / yönlendirme talep URI'larını değil, HTML belgelerinde olanlar yazabilirsiniz. Böylece ilk PHP uygulama doğru URI'lere baskı olduğundan emin olmanız gerekir, bu yüzden /stories/17.html
yerine /stories.php?id=17
.
Bundan sonra, kural kullanabilirsiniz suggested by José Basilio:
RewriteRule ^stories/([0-9]+)\.html$ stories.php?id=$1
Dahili geri /stories.php?id=17
dışarıdan /stories/17.html
ve daha sonra istekleri yönlendirme /stories.php?id=17
mümkün olsa da iki kere gibi birçok talepleri neden olacak gibi, bu iyi bir uygulama değil. Ama burada bunun için kural:
RewriteCond %{THE_REQUEST} ^GET\ /stories\.php[?\s]
RewriteCond %{QUERY_STRING} ^(([^&]*&)*)id=([0-9]+)&*([^&].*)?$
RewriteRule ^stories\.php$ /stories/%3.html?%1%4 [L,R=301]