Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

.htaccess newbie issue using mod_rewrite

I need to create SEO-friendly urls for my site. I found out I can use .htaccess to rewrite them. So I tried this:

> http://www.domain.com/page/1/mypage
> http://www.domain.com/user/2/myuser
> http://www.domain.com/help/3/myhelp

Now I am stuck with a common rule and I don't understand Ant to redirect traffic based on the name of the page:

I use:

RewriteEngine ON
RewriteRule ^(.*)$ page.php?page=$1

Then in my PHP I don't get the page correctly, I get the file which is wrong.

How can I fix this?

like image 516
Marty Avatar asked Jan 04 '12 11:01

Marty


1 Answers

Here's what you need to do:

RewriteEngine On
RewriteBase /
RewriteRule ^([a-z_\-]+)/([0-9]+)/([a-z_\-]+)/?$ page.php?page=$1&id=$2&name=$3 [NC,L]

NC (or nocase) Makes the test case-insensitive, A = a;

L (or last) Last rule. Stop the rewriting process here and don't apply any more rewrite rules;

You can get more info at http://httpd.apache.org/docs/current/mod/mod_rewrite.html

like image 85
Book Of Zeus Avatar answered Oct 04 '22 20:10

Book Of Zeus