Problema htaccess - rewrite and redirect
Salut,
Intampin ceva probleme cu urmatoarea situatie de rewrite/redirect url; pe scurt ce as vrea eu sa fac:
1) toate extensiile de la pagini sa fie sterse( page.php => /page/ )
2) adaugat un slash la sfarsit (/page => /page/ )
3) non-www to www
4) rewrite pt. anumite pagini ce contin parametri (test.php?id=2 => /test/2/)
Primele 3 puncte am reusit sa le termin; si pe 4 partial, la modul ca: daca accesez pagina test.php?id=2 imi face redirectul catre /test/2/ insa imi da "Not found"
Mai jos, este codul din fiserul htaccess
Cod:
## start engine
RewriteEngine on
## non-www to www
RewriteCond %{HTTP_HOST} ^site.tld [NC]
RewriteRule ^(.*)$ http://www.site.tld/$1 [L,R=301]
## Remove .php extension
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php
## Forces a trailing slash to be added
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !(\.[a-zA-Z0-9]{1,5}|/)$
RewriteRule (.*)$ /$1/ [R=301,L]
## Custom page - test.php?id=x
RewriteCond %{REQUEST_URI} ^/test\.php$
RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^(.*)$ /test/%1/? [R=301,L]
## Redirect
RewriteCond %{THE_REQUEST} ^[A-Z]+\ (/[^\ ]*)\.php[?\ ]
RewriteRule \.php$ %1/ [R=301,L]
Ce fac gresit?
Multumes,
Alex