I've tried to remove the .php extension and keep the id query parameter, but I get a 404 error.
This is the URL:
example.com/folder/file.php?q=123
And I want it to be:
example.com/folder/file/123
Here is my .htaccess file:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^$1/(.*)$ /$1.php?q=$2
This would internally rewrite the URL from
/folder/file/123to/folder/file/123.php, which is obviously going to result in a 404. It would be preferable to test that the corresponding.phpfile exists, rather than testing that the request does not already map to a file.I'm assuming the
qURL parameter always takes a numeric value.Try the following instead:
The
NCflag is not required.This rule doesn't make sense and is redundant.