如何解决在htaccess中使用Rewriterule的问题
我始终使用RewriteRule清理URL,如下所示:
RewriteRule ^page/(.*)$ page.php?urlkey=$1 [QSA]
我的新主持人不允许我使用Options + FollowSymLinks,因此我不再可以使用/。所以我将RewriteRule更改为:
RewriteRule ^page-(.*)$ page.php?urlkey=$1 [QSA]
但是,我需要将所有以前的URL重定向到新版本。我尝试使用以下规则进行此操作:
RewriteRule ^page/(.*)$ page-(.*)$ [R=301,L]
但是这不起作用。我还尝试过在.htaccess中进行重定向:
Redirect 301 https://www.example.com/page/urlkey https://www.example.com/page-urlkey
这也不起作用。
编辑
按要求提供以下实际代码:
RewriteEngine on
RewriteRule ^citywalk-(.*)$ citywalk.php?urlkey=$1 [QSA]
RewriteRule ^citywalk/(.*)$ citywalk-(.*)$ [R=301,L]
例如,城市漫步历史中心有一个网址键the-historical-centre。旧网址是citywalk / thehistorical-centre。
要测试此特定情况和其他技术:
Redirect 301 /citywalk/the-historical-centre https://example.com/citywalk-the-historical-centre
通过访问https://example.com/citywalk/the-historical-centre不会进行重定向(该URL在浏览器中保持不变),也没有找到urlkey。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。