我正在开发我的网站链接架构。我想将我的.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 / 重定向到新网址: / profile / 。我最终得到了这段代码。但是,它会将 / profile / 重定向到 / profile-info / 。
RewriteCond %{REQUEST_URI} /profile/?$ [NC]
RewriteRule . /profile-info/ [L,R=302]
答案 0 :(得分:1)
您可以使用以下两条规则:
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]
答案 1 :(得分:1)
我认为这就是你要找的东西:
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
样式文件。这些文件非常容易出错,难以调试,并且它们确实会使服务器变慢,通常没有理由。它们仅适用于不可以访问主机配置(读取:非常便宜的主机提供商)或者应用程序需要编写自己的规则(这是一个明显的安全噩梦)的情况。 ..)。