为了编辑我的实际网址结构。我需要重定向“旧”链接以保持传入链接处于活动状态。
一切正常,但是当“旧”链接有参数时,它不起作用。
这是我的.htaccess的第一部分(正在运作):
Options +FollowSymlinks -MultiViews
RewriteEngine On
# Rewrite the "old" url "/models" to "/models-pictures"
RewriteRule ^/?models/?$ /models-pictures [R=301,NE,L]
# New redirection
RewriteCond %{REQUEST_URI} /models-pictures/?$ [NC]
RewriteRule . models.php [L]
现在第二部分没有重定向
# Rewrite the "old" url "/models/[name]-pictures" to "/[name]-pictures"
RewriteRule ^/?models/([a-z\-A-Z]+)-pictures/?$ /%1-pictures [R=301,NE,L] <- Not working
# New redirection
RewriteCond %{REQUEST_URI} /([a-z\-A-Z]+)-pictures/?$ [NC]
RewriteRule . orderby.php?model=%1 [L,QSA]
# New redirection
RewriteCond %{REQUEST_URI} /([a-z\-A-Z]+)-pictures/([a-z\-A-Z]+)/?$ [NC]
RewriteRule . p.php?model=%1&media=%2 [L,QSA]
有什么想法吗?谢谢。
答案 0 :(得分:1)
您未在非工作规则中的替换字符串中使用正确的反向引用。您有%1
,它应该是$1
。
# Rewrite the "old" url "/models/[name]-pictures" to "/[name]-pictures"
RewriteRule ^/?models/([a-z\-A-Z]+)-pictures/?$ /$1-pictures [R=301,NE,L]