Reputation: 131
i have a .htaccess file
RewriteEngine On
RewriteCond %{HTTP_HOST} ^localhost/host
RewriteRule (.*) http://localhost/host/$1 [R=301,L]
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?seg1=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?seg1=$1
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?seg1=$1&seg2=$2
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?seg1=$1&seg2=$2
RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ index.php?seg1=$1&seg2=$2&seg3=$3
RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)/$ index.php?seg1=$1&seg2=$2&seg3=$3
my questions, is there a simplified .htaccess for those code? thanks!
Upvotes: 1
Views: 716
Reputation: 10888
If your PHP can process empty parameters correctly then why not
RewriteRule ^([-\w]+)?/?([-\w]+)?/?([-\w]+)?/?$ index.php?seg1=$1&seg2=$2&seg3=$3
instead of the six rules?
So /a will generate index.php?seg1=a&seg2=&seg3=
Upvotes: 4