【问题标题】:.htaccess 301 Redirect (old url to new update) with php get query.htaccess 301 重定向(旧 url 到新更新)与 php get 查询
【发布时间】:2014-10-05 12:33:11
【问题描述】:

我正在尝试使用 htaccess 将一些旧 URL 重定向到新 URL,它会重写我的 PHP 文件中的 GET 查询以清理 URL:

Options +FollowSymLinks
RewriteEngine on
RedirectMatch 301 /photo/old-photo /photo/new-photo    
RewriteRule ^photo/(.*)/?$ tpl-photo.php?slug=$1
RewriteRule ^photo/(.*)?$ tpl-photo.php?slug=$1

这会像这样正确输出我的干净 URL:

http://website.com/photo/one-beautiful-photo

但是,当我尝试将旧 URL 重定向到新 URL 时,它会以某种方式弄乱 URL:

http://website.com/photo/new-photo?slug=old-photo

我怎样才能更正这个问题,以便获得一个正确干净的新 URL:

http://website.com/photo/new-photo

【问题讨论】:

  • 发布完整的.htaccess,如果您的旧网址有查询字符串,请发布更好的示例来说明它。

标签: php apache .htaccess mod-rewrite


【解决方案1】:

不要混用 mod_rewritemod_rewrite 规则,只保留 mod_rewrite 这样的规则:

Options +FollowSymLinks
RewriteEngine on

RewriteRule ^photo/old-photo/?$ /photo/new-photo [NC,L,R=301]
RewriteRule ^photo/([^/]+)/?$ tpl-photo.php?slug=$1 [L,QSA,NC]

【讨论】:

  • 谢谢你,阿努巴瓦!奇迹般有效 ! :)
猜你喜欢
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-27
  • 2012-03-23
  • 2015-09-14
  • 1970-01-01
相关资源
最近更新 更多