I have configured a virtual host in my local machine and every thing is working fine.
Now I want to use SEO friendly urls. To achieve this I have used the .htaccess file.
My virtual host configuration is:
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-host2.localhost-error.log"
##CustomLog "logs/dummy-host2.localhost-access.log" combined
</VirtualHost>
and my .htaccess file has:
AllowOverride All
RewriteEngine On
RewriteBase /ypp/
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
The above .htaccess setting is not working.
After that I modified my virtual host setting and it is working.
The new virtual host setting is:
<VirtualHost *:80>
RewriteEngine On
RewriteRule ^/browse$ /browse.php
RewriteRule ^/browse/([a-z]+)$ /browse.php?cat=$1
RewriteRule ^/browse/([a-z]+)/([a-z]+)$ /browse.php?cat=$1&subcat=$2
ServerAdmin
[email protected]
DocumentRoot "C:/xampp/htdocs/ypp"
ServerName ypp.com
ServerAlias www.ypp.com
##ErrorLog "logs/dummy-host2.localhost-error.log"
##CustomLog "logs/dummy-host2.localhost-access.log" combined
<Directory "C:/xampp/htdocs/ypp">
AllowOverride All
</Directory>
</VirtualHost>
Please let me know where I am going wrong in the .htacess file for url rewriting. I do not want to use the settings in virtual host, since for every change I have restart
apache.