斜杠后停止URLRewrite检查

时间:2015-02-20 08:34:41

标签: apache .htaccess mod-rewrite

以下是我在.htaccess文件中的当前Apache配置

RewriteRule ^(user)($|/) - [L]

RewriteRule ^user/([^/]+) /user_/index.php?u=$1 [L]

我想将www.mydomain.com/user/test重写为www.mydomain.com/user_/index.php?u=test

但是,如果www.mydomain.com/userwww.mydomain.com/user/ user是我服务器中的目录,我不想重写任何内容。

我该怎么做?

2 个答案:

答案 0 :(得分:1)

试试这个:

  AddDefaultCharset UTF-8
    Options -Indexes
    RewriteEngine on

    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteCond %{REQUEST_URI} /?user/(.*)$
    RewriteRule /?user/(.*)$  user_/index.php?u=$1 [QSA,L]

这里: RewriteCond %{REQUEST_URI} /?user/(.*)$用于检查条件

答案 1 :(得分:0)

您需要使用量词.+来确保您不匹配/user/user/,如下所示:

RewriteEngine on
RewriteBase /

RewriteRule ^user/(.+)$ user_/index.php?u=$1 [QSA,L,NC]