如何使用mod_rewrite将具有特定模式的所有网址重定向到另一个网址?

时间:2015-09-16 22:56:10

标签: php apache .htaccess mod-rewrite redirect

所以我刚刚更改了网站的结构,我试图使用mod_rewrite将旧结构的用户重定向到新结构。

我已强制用户使用https,然后使用www:

RewriteEngine on

#Force users to use www
RewriteCond %{HTTP_HOST} ^website\.com$
RewriteRule ^(.*)$ https://www.website.com/$1 [R=301]

旧结构是:

https://www.website.com/oldurl
https://www.website.com/oldurl/page1
https://www.website.com/oldurl/page1/category
https://www.website.com/oldurl/page2/section
https://www.website.com/oldurl/page2/section/x

这些类型的网址,每页都有多种级别的/ x / y / z。

我尝试重定向这些内容以删除/oldurl部分。

所以改变:

https://www.website.com/oldurl
https://www.website.com/oldurl/page1

要:

https://www.website.com
https://www.website.com/page1

对于上述所有变体。

我已经浏览了一下,但我不确定如何创建一个适用于所有变化的重写规则。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

可以这么简单:

RewriteRule ^oldurl(.*)$ $1 [L,QSA]

将其放在www / https重定向

之后