.htaccess mod_rewrite似乎忽略了带问号的规则?

.htaccess mod_rewrite似乎忽略了带问号的规则?,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我正试图改变方向 domain.com/page?user=something 到 domain.com/page/something 与 但出于某种原因,这是行不通的。它似乎甚至忽视了这一点。当我进入domain.com/page?user=something时,什么都没有发生。mod_rewrite已启用,所有其他规则正在执行。我想这可能是由于URL中的?,但我可能错了?您可以在根目录中使用这两条规则。htaccess: RewriteEngine On # external redire

我正试图改变方向

domain.com/page?user=something

domain.com/page/something


但出于某种原因,这是行不通的。它似乎甚至忽视了这一点。当我进入
domain.com/page?user=something
时,什么都没有发生。mod_rewrite已启用,所有其他规则正在执行。我想这可能是由于URL中的
,但我可能错了?

您可以在根目录中使用这两条规则。htaccess:

RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /page(?:\.php)\?user=([^\s&]+) [NC]
RewriteRule ^ /page/%1? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^page/([^/.]+)/?$ page?user=$1 [L,QSA,NC]
RewriteEngine On

# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} /page(?:\.php)\?user=([^\s&]+) [NC]
RewriteRule ^ /page/%1? [R=302,L,NE]

# internal forward from pretty URL to actual one
RewriteRule ^page/([^/.]+)/?$ page?user=$1 [L,QSA,NC]