如何使用htaccess重写get变量?

时间:2014-01-14 16:42:14

标签: apache .htaccess

我有一个重写链接的htaccess文件

http://www.example.com/profiles.php?view_user=test 

http://www.example.com/profiles?view_user=test 

但我想重写剩下的get变量 -

profiles?view_user=test 

profiles/view_user/test

帮助我,我不太了解htaccess

2 个答案:

答案 0 :(得分:0)

尝试将这些规则添加到文档根目录中的htaccess文件中的适当位置:

RewriteCond %{THE_REQUEST} \ /+profiles\.php\?([^=&]+)=([^&\ ]+)
RewriteRule ^ /profiles/%1/%2? [L,R=301]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^profiles/([^/]+)/([^/]+)/?$ /profiles.php?$1=$2 [L,QSA]

还要确保关闭多视图:

Options -Multiviews

答案 1 :(得分:0)

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On

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