php - .htaccess add / support -


rewriteengine on rewritebase /myproject/  rewritecond %{request_filename} !-f rewritecond %{request_filename}.php -f rewritecond %{request_filename} !-d rewriterule ^([^/]+)$ $1.php [qsa]  rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^books/([^/]+)/$ books.php?id=$1 [qsa]  rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^books/([^/]+)$ books.php?id=$1 [qsa]  rewritecond %{request_filename} !-f rewritecond %{request_filename} !-d rewriterule ^books/ books.php [qsa] 

everything works when type: localhost/name breaks if type: localhost/name/

what's wrong .htaccess , how add support "/"

you don't need 2 rules , 2nd rule has invalid regex anyway. try rule:

options -multiviews rewriteengine on rewritebase /myproject/  rewritecond %{request_filename} -f [or] rewritecond %{request_filename} -d rewriterule ^ - [l]  rewriterule ^books/([^/]+)/?$ books.php?id=$1 [l,nc,qsa]  rewritecond %{document_root}/myproject/$1\.php -f [nc] rewriterule ^([^/]+)/?$ $1.php [l] 

Comments