.htaccess重定向以避免404

.htaccess重定向以避免404,.htaccess,mod-rewrite,.htaccess,Mod Rewrite,我最近在我的CMS中做了一些更改,这在谷歌网站管理员中导致了很多404错误。当前找不到404个URL 而工作URL是 我想通过.htaccess从URL中排除明信片,请建议一行替换它,下面的代码显示了我现有的文件 RewriteEngine On #RewriteBase / RewriteRule ^sitemap.xml$ google.php RewriteRule ^cat-(.*)-([0-9]+)\.htm$ categories.php?cat_id=$2&%{QU

我最近在我的CMS中做了一些更改,这在谷歌网站管理员中导致了很多404错误。当前找不到404个URL

而工作URL是

我想通过.htaccess从URL中排除明信片,请建议一行替换它,下面的代码显示了我现有的文件

RewriteEngine On 

#RewriteBase /
RewriteRule ^sitemap.xml$ google.php
RewriteRule ^cat-(.*)-([0-9]+)\.htm$ categories.php?cat_id=$2&%{QUERY_STRING}
RewriteRule ^cat\.htm$ categories.php?%{QUERY_STRING}

#Mod_bmollet : Image name in URL
RewriteRule ^img-(.*)-([0-9]+)\.htm$ details.php?image_id=$2&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.search.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.lightbox.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.htm$ details.php?image_id=$1&%{QUERY_STRING}
RewriteRule ^img([0-9]+)\.([a-zA-Z0-9]+)\.htm$ details.php?image_id=$1&mode=$2&%        {QUERY_STRING}


#Mod_bmollet : This is to make search function work ( redirect links from search results )
RewriteRule ^search\.htm$ search.php?%{QUERY_STRING}
RewriteRule ^search\.([0-9]+)\.htm$ search.php?page=$1&%{QUERY_STRING}
RewriteRule ^lightbox\.htm$ lightbox.php?%{QUERY_STRING}
RewriteRule ^lightbox\.([0-9]+)\.htm$ lightbox.php?page=$1&%{QUERY_STRING}

在htaccess文件的
RewriteEngine On
下,添加:

RewriteRule ^gallery/postcard\.(.*)$ /gallery/$1 [L,R=301]

编辑:在你的网站上玩了一段时间后,所有这些规则实际上都在
gallery
目录中,这从一开始就是非常宝贵的信息

因此,必须省略正则表达式的
gallery/
部分:

RewriteRule ^postcard\.(.*)$ /gallery/$1 [L,R=301]


我已经放置了该行,但结果仍然相同,您可以检查URL。@MoxetKhan和所有其他规则是否有效?htaccess文件是否在文档根目录中?是的,所有其他规则都有效。我在根pukhtoogle.com上有一个ht文件用于joomla,在/gallery上有第二个ht文件用于4images。其他与4images一样精确的规则是PHP cms,到目前为止,URL通过htaccess转换为HTML。@MoxetKhan是的,在编写规则之前知道htaccess文件的位置非常重要,我已经编辑了我的答案。加油!现在100%工作,非常感谢亲爱的。。
RewriteRule ^postcard\.(.*)$ http://pukhtoogle.com/gallery/$1 [L,R=301]