如何使用htacess修改网址的一部分?

时间:2016-05-12 09:46:56

标签: .htaccess

我的网址:www.example.com/store?store=1

所需网址:www.example.com/store/1

我在SO上看到了许多与此相似的答案,但没有解决我的问题。对答案的一点解释将非常感激。

由于

2 个答案:

答案 0 :(得分:0)

尝试以下代码

RewriteCond %{QUERY_STRING} (^|&)store=1($|&)
RewriteRule ^www\.example\.com/store$ /www.example.com/store/1?&%{QUERY_STRING}

我希望它会起作用

答案 1 :(得分:0)

隐蔽

您可以在root/.htaccess

中使用以下规则
RewriteEngine on

#1)externally redirct  "/store?store=foo" to "/store/foo"

RewriteCond %{THE_REQUEST} /store/?\?store=([^\s]+) [NC]
RewriteRule ^ /store/%1? [L,R]
##2)internally redirect the new url "/store/foo" to /store?store=foo##
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^store/([^/]+)/?$ /store?store=$1 [NC,L]

注意:如果您要将其放在store/.htaccess中,只需删除#2规则中的文件夹名称和尾随斜杠,只需将模式^store/([^/]+)/?$更改为^([^/]+)/?$即可使用子文件夹htacess中的规则。