我想知道,如何使用.htaccess(例如/?menu=first
)正确地将地址转换为/first
。
好的,实际上这已经与下面的代码一起工作了:
RewriteRule ^([A-Za-z0-9-_]+)/?$ index.php?menu=$1 [NC]
但是有一个问题,因为它可能会发生,一旦它只是url中的一个参数,另一个时间是两个甚至三个参数。像这样:
/?menu=first /first
/?menu=first&submenu=second /first/second
/?menu=first&submenu=second&news=third /first/second/third
这可以实现使用.htaccess吗?
答案 0 :(得分:1)
对于较长的网址,您还需要另外两条规则:
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ - [L]
RewriteRule ^([\w-]+)/?$ index.php?menu=$1 [L,QSA]
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?menu=$1&submenu=$2 [L,QSA]
RewriteRule ^([\w-]+)/([\w-]+)/([\w-]+)/?$ index.php?menu=$1&submenu=$2&news=$3 [L,QSA]
http://
或斜杠/
开头。<base href="/" />