Apache htaccess将301所有用户从带破折号的旧文件夹重定向到同一域的新文件夹
我想移动键入或单击谷歌结果的用户Apache htaccess将301所有用户从带破折号的旧文件夹重定向到同一域的新文件夹,apache,.htaccess,Apache,.htaccess,我想移动键入或单击谷歌结果的用户 http://example.com/name-lname/chicago 到 我试过了 Redirect 301 ^name-lname namelname 但我得到了错误500 如何修复它?试试以下方法: RewriteRule ^name-lname$ /namelname? [L,R=301] 试试这个: RewriteRule ^name-lname$ /namelname? [L,R=301] 您可以将此规则用作root.htaccess中的
http://example.com/name-lname/chicago
到
我试过了
Redirect 301 ^name-lname namelname
但我得到了错误500
如何修复它?试试以下方法:
RewriteRule ^name-lname$ /namelname? [L,R=301]
试试这个:
RewriteRule ^name-lname$ /namelname? [L,R=301]
您可以将此规则用作root.htaccess中的第一条规则:
RedirectMatch 301 ^/name-lname(/.*)?$ /namelname$1
RedirectMatch
提供了针对Redirect
指令的正则表达式功能。您可以将此规则用作根目录中的第一条规则。htaccess:
RedirectMatch 301 ^/name-lname(/.*)?$ /namelname$1
RedirectMatch
提供了针对Redirect
指令的正则表达式功能。您需要使用RedirectMatch,因为Redirect不支持正则表达式:
RedirectMatch 301 ^/([^-]+)-([^/]+)/(.+)$ /$1$2/$3
您需要使用RedirectMatch,因为Redirect不支持正则表达式:
RedirectMatch 301 ^/([^-]+)-([^/]+)/(.+)$ /$1$2/$3
对于这种简单重定向,您不需要正则表达式,因此不需要mod_rewrite或RedirectMatch,简单重定向就足够了:
Redirect 301 /name-lname /namelname
查询字符串和附加路径部分将添加到目标URL。从:
然后,以URL路径(注意:name/lname部分)开头的任何请求都将返回重定向
在目标URL的位置向客户端发出请求。附加的
匹配URL路径之外的路径信息将附加到
目标URL
但是请注意
http://example.com/name-lnamefile.html
将不匹配。对于这种简单重定向,您不需要正则表达式,因此不需要mod_rewrite或RedirectMatch,简单重定向就足够了:
Redirect 301 /name-lname /namelname
查询字符串和附加路径部分将添加到目标URL。从:
然后,以URL路径(注意:name/lname部分)开头的任何请求都将返回重定向
在目标URL的位置向客户端发出请求。附加的
匹配URL路径之外的路径信息将附加到
目标URL
但是请注意http://example.com/name-lnamefile.html
将不匹配