在htaccess中重写规则

时间:2015-01-20 15:41:13

标签: .htaccess mod-rewrite

我在 .htaceess

中有这段代码
Options +FollowSymlinks 
RewriteEngine On
RewriteBase /
RewriteRule aa/(.+)  $1 [QSA,L]
RewriteRule .+  index.php?username=$0 [L,QSA]

index.php内容:

<?php
var_dump($_GET);
?>

这是文件的结构:

root
|
|_____css
|      |____ style.css
|
|_____ .htaccess
|_____ index.php

我希望当 http://domain/aa/css/style.css 类型重定向到 /css/style.css 时 对于我输入的所有其他网址,即: http://domain/test 重定向到 /index.php?username=test

现在当我输入 http://domain/test 时,它的工作效果很好。但是当我输入 http://domain/aa/css/style.css 而不是 style.css 时,浏览器会向我显示:

array(1) { ["username"]=> string(13) "css/style.css" }

现在如何改变 .htaccess 以适应每件事情?

1 个答案:

答案 0 :(得分:2)

您可以使用:(见下面的评论)

Options +FollowSymlinks 
RewriteEngine On
RewriteBase /

RewriteRule aa/(.+) $1 [NC,L]

RewriteCond %{THE_REQUEST} !/aa/ [NC]
RewriteRule .+ index.php?username=$0 [L,QSA]