vephelp
vephelp

Reputation: 542

url rewriting gives "object not found" error

Below is my original url

http://localhost/mysite/mainarticle?article_id=84

RewriteRule

RewriteRule ^/article/([0-9]+) /mainarticle?article_id=$1 [L]

new url

http://localhost/mysite/article/84

When I use the new url it gives the Object not found error. Seems like my rewrite rule is not working. Need your help if I'm using the rule correctly or changes are needed.

Note:

I'm using additional rules as well to hide extentions.

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^\.]+)$ $1.php [NC,L]
RewriteRule ^([^\.]+)$ $1.html [NC,L]

Upvotes: 0

Views: 771

Answers (1)

ndm
ndm

Reputation: 60463

You are using absolute paths, but /mysite/ isn't the document root, so that won't work. Remove the leading slashes to use relative paths and you should be good.

RewriteRule ^article/([0-9]+) mainarticle?article_id=$1 [L]

As it's an internal redirect you can also safely add the .php extension in case you know that's the file you are targeting, this would avoid an additional rewrite for the missing extension.

... mainarticle.php?article_id=$1 [L]

Upvotes: 3

Related Questions