.htaccess htaccess-重定向未按预期工作?
我需要在我的网站上设置几个重定向。我的htaccess文件当前为:.htaccess htaccess-重定向未按预期工作?,.htaccess,mod-rewrite,redirect,url-redirection,.htaccess,Mod Rewrite,Redirect,Url Redirection,我需要在我的网站上设置几个重定向。我的htaccess文件当前为: RewriteEngine on RedirectMatch 301 ^/browse/ http://www.mysite.co.uk/designs Redirect /designs http://www.mysite.co.uk/our-designs 重定向#1-我需要将所有以前是www.mysite.co.uk/browse/…的旧URL重定向到www.mysite.co.uk/designs/…(designs文
RewriteEngine on
RedirectMatch 301 ^/browse/ http://www.mysite.co.uk/designs
Redirect /designs http://www.mysite.co.uk/our-designs
重定向#1-我需要将所有以前是www.mysite.co.uk/browse/…
的旧URL重定向到www.mysite.co.uk/designs/…
(designs文件夹取代了browse文件夹)
例如:
http://www.mysite.co.uk/browse/home/kitchens
我们也需要去:
http://www.mysite.co.uk/designs/home/kitchens
重定向#2-现在第二个重定向导致了问题。我只需要重定向页面:
http://www.mysite.co.uk/designs
致:
因此,我使用:
Redirect /designs http://www.mysite.co.uk/our-designs
这将正确地将/designs
页面重定向到我们的设计
页面,但现在也会根据上面的示例更改so中的/designs/
的任何url
http://www.mysite.co.uk/designs/home/kitchens
应保持原样,但更改为:
http://www.mysite.co.uk/our-designs/home/kitchens
这将为我提供一个未找到的页面更改规则的顺序,并添加一个查询参数以防止进一步重定向:
RewriteEngine On
RewriteCond %{QUERY_STRING} !^_noredir(&|$) [NC]
RewriteRule ^designs/(.*)$ /our-designs/$1 [R=301,L,NC,NE]
RewriteRule ^browse/(.*)$ /designs/$1?_noredir [R=301,L,NE,NC,QSA]
使用以下规则:
RewriteEngine on
RewriteRule ^browse/(.+)$ /designs/$1 [R=301,L]
RewriteRule ^designs/?$ /our-designs [R=301,L]
您可以将http://www.mysite.co.uk
如果主机不同,则作为主机重写URL
RewriteEngine on
RewriteRule ^browse/(.+)$ /designs/$1 [R=301,L]
RewriteRule ^designs/?$ /our-designs [R=301,L]