以下是我在.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/user
或www.mydomain.com/user/
user
是我服务器中的目录,我不想重写任何内容。
我该怎么做?
答案 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]