htaccess重写2种不同风格的URL

时间:2017-08-13 18:07:04

标签: .htaccess

我有两种不同风格的网址(下方)

domain.com/shop/post/post-name
domain.com/shop/?p=123

我想将这两者重定向到domain.com/blog/post/post-namedomain.com/blog/post/123

目前,我正在使用:

RewriteCond %{REQUEST_URI} post/([^.]+)$
RewriteRule ^(.*)$ https://www.itl.uk.net/blog/$1 [R,L]

哪个重定向第一个网址,但我不确定如何包含重定向的规则

1 个答案:

答案 0 :(得分:1)

您可以在shop/.htaccess正下方 RewriteEngine On行中使用这些规则:

RewriteEngine On

# to handle /shop/post/post-name
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^post/.+$ /blog/$0 [L,NC,R=301,NE]

# to handle /shop/?p=123
RewriteCond %{QUERY_STRING} ^p=(\d+)$ [NC]
RewriteRule ^/?$ /blog/post/%1? [L,NC,R=301,NE]