我知道这个问题已被问到,但无法找到适合我的问题。
我正在创建一个网站,我的网址就像:
www.foo.com/ 或www.foo.com/index.php。 他们可以采用1,2或三个不同的参数,如
www.foo.com/index.php?page=Home&lang=en&article=1
我想要的是一个像
这样的网址 www.foo.com/Home/
or www.foo.com/en/Home
or www.foo.com/Article/1
or www.foo.com/en/Article/1
页面参数是必需的,其他两个不是.. 我无法为我工作......任何帮助都会受到高度赞赏
非常感谢!
答案 0 :(得分:7)
最好有单独的清洁规则。将此代码放在DOCUMENT_ROOT/.htaccess
文件中:
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]
答案 1 :(得分:1)
尝试这样的事情
RewriteRule ^([a-z0-9_-]+)/([a-z0-9_-]+)/([a-z0-9_-]+)\.html$ index.php?param1=$1¶m2=$2¶m3=$3