0

I want to make some url rewrite rules on my .htaccess file so that this link: http://myseite.com/index.php?var1=value1&var2=value2 will become : http://myseite.com/var1/value2.html

So far I have managed successfully to solve this problem but only for one variable.

I also tried this code:

RewriteRule ^([^/]*)/([^/]*)\.html$ /index.php?var1=$1&var2=$2 [L]

But it doesn't work..

Thank you for the help!

Cata
  • 11,133
  • 11
  • 65
  • 86

1 Answers1

4

Request for http://mysite.com/var1/value2.html is rewritten to http://mysite.com/index.php?var1=var1&var2=var2

where index.php and .htaccess file are at the documentroot

.htaccess files will only work if httpd.conf (or some apache conf file) has "AllowOverride All" set for the DocumentRoot you are working in. Check that first.

Next, make sure you have mod_rewrite enabled in Apache conf files (restart webserver after changing conf files) and then enable it in your .htaccess file

contents of .htaccess:

<IfModule mod_rewrite.c>
RewriteEngine On
# /var1/value2.html to /index.php?var1=value1&var2=value2
RewriteRule ^([^/]+)/([^\.]+)\.html$ /index.php?var1=$1&var2=$2
</IfModule>

put this in /index.php to see it work:

<? print_r($_GET); ?>
Allen
  • 263
  • 1
  • 5
  • 1
    It doesn't work :(, I have tried the ugly links and only those work.. if I try value1/value2.html it doesn't work.. It says page not found – Cata Feb 08 '11 at 07:43
  • I did run this on a real server before posting it, so it worked for me. – Allen Feb 08 '11 at 08:35