简体   繁体   中英

htaccess multiple parameters rewrite rule

I know this problem is over asked, but couldnt find anything fitting with my problem.

I'm currently creating a website, and my url are like :

www.foo.com/ or www.foo.com/index.php. They can take 1, 2 ,or three different parameters like

www.foo.com/index.php?page=Home&lang=en&article=1

What i'd like is an url like

   www.foo.com/Home/

or www.foo.com/en/Home

or www.foo.com/Article/1

or www.foo.com/en/Article/1

The page parameter is required, other two are not.. I cant have anything working for me... Any help would be greately appreciated

Thanks a lot !

Better to have separate clean rules. Put this code in your DOCUMENT_ROOT/.htaccess file:

RewriteEngine On

RewriteRule ^index\.php$ - [L]

RewriteRule ^([^/]+)/?$ /index.php?page=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/?$ /index.php?page=$2&lang=$1 [L,QSA]

RewriteRule ^([a-z]{2})/([^/]+)/([0-9]+)/?$ /index.php?page=$2&lang=$1&article=$3 [L,QSA]

RewriteRule ^([^/]+)/([0-9]+)/?$ /index.php?page=$1&article=$2 [L,QSA]

试试这个

RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)\.html$           index.php?param1=$1&param2=$2&param3=$3

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM