KaLv1n K
KaLv1n K

Reputation: 131

simplified htaccess

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

Answers (1)

TerryE
TerryE

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

Related Questions