[英]Redirect rewritten URL to a new rewritten URL
我正在研究我的网站链接体系结构。 我想用已经重写的.htaccess URL重定向到一个新的URL,以保持我的传入链接处于活动状态。
www.website.com/profile-info/至www.website.com/profile/
这是我实际的工作.htaccess:
Options +FollowSymlinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_URI} /profile-info/?$ [NC]
RewriteRule . models.php [L]
因此,为了将/ profile-info /重定向到新的URL: / profile / 。 我最终得到了这段代码。 但是,它将/ profile /重定向到/ profile-info / 。
RewriteCond %{REQUEST_URI} /profile/?$ [NC]
RewriteRule . /profile-info/ [L,R=302]
您可以使用以下2条规则:
Options +FollowSymlinks -MultiViews
RewriteEngine On
# redirect /profile-info to /profile
RewriteRule ^profile-info/?$ /profile [R=301,NE,L]
# rewrite /profile to /models.php
RewriteRule ^/?profile/?$ models.php [L,NC]
我认为这是您要寻找的:
RewriteEngine On
RewriteMap /
RewriteRule ^/?profile-info/?$ /profile [END,NE,R=301,QSA]
RewriteRule ^/?profile/?$ models.php [L,QSA]
这是一个两步策略:
/profile-info
“旧”链接重定向到新的/profile
/profile
重写为models.php
您可能需要更改RewriteMap
,这显然取决于您的情况。
还有一个一般提示:您应该始终喜欢将此类规则放在http服务器主机配置中,而不是使用.htaccess
样式文件。 众所周知,这些文件容易出错,难以调试,并且它们确实使服务器变慢,通常是没有原因的。 仅在您无法访问主机配置的情况下提供它们(请参阅:真正便宜的主机提供商),或者在应用程序需要编写自己的规则的情况下(这显然是安全的噩梦...)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.