我该如何设置mod_rewrite?

时间:2014-12-05 09:09:11

标签: regex apache .htaccess mod-rewrite redirect

如何设置mod_rewrite? 我的目录结构如下(www.example.com)

index.php
user[directory]
   index.php [file in user directory]
.htaccess

的.htaccess

RewriteEngine on
RewriteRule ^([a-zA-Z0-9_-]+)$ index.php?url=$1 
RewriteRule ^([a-zA-Z0-9_-]+)/$ index.php?url=$1 

如何访问http://www.example.com/user

当我打开http://www.example.com/user时,我会http://www.example.com/user/?url=user

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

您可以使用:

# turn directory trailing slash off
DirectorySlash Off
RewriteEngine on
RewriteBase /

RewriteRule ^([\w-]+)/?$ index.php?url=$1 [L,QSA]

# add a trailing slash to directories
RewriteCond %{DOCUMENT_ROOT}/$1 -d
RewriteRule ^(.*?[^/])$ %{REQUEST_URI}/ [L,R=302]