htaccess重写友好网址

时间:2015-01-06 23:30:57

标签: .htaccess mod-rewrite url-rewriting rewrite

您好我有以下结构http://localhost/index.php?a=$var1&b=var2&c=$var3

当有人去http://localhost/$var1/$var2/$var3时,我想将其改为 他们被发送到http://localhost/index.php?a=$var1&b=var2&c=$var3

1 个答案:

答案 0 :(得分:1)

将其添加到文档根目录中的htaccess文件的适当位置。

RewriteEngine On

RewriteCond %{THE_REQUEST} \ /+index\.php\?a=([^&]+)&b=([^&]+)&c=([^&\ ]+)
RewriteRule ^ /%1/%2/%3? [L,R]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/([^/]+)$ /index.php?a=$1&b=$2&c=$3 [L,QSA]

请注意,当浏览器加载/aaa/bbb/ccc网址而不是/index.php时,您正在更改相对URI基础。因此,您的链接必须是绝对网址,或者您需要在网页标题中添加基本标记:

<base href="/" />