Apache htcaccess将子目录重定向到单个页面
在我在现场测试之前,我想确定我有这个权利。在我开始为我现在的雇主工作之前,他们做了一次网站更新,但没有保持相同的URL命名结构。因此,即使我们的网站地图已经更新,我们仍然会在谷歌上发现404个爬网错误。它将列出旧的URL,然后说,然后列出旧的链接作为它们的链接来源。我不确定我需要什么来纠正这个问题 旧结构是domain.com/product/12345/product\u name 新结构是domain.com/category-name/12-product-name。实际上,没有办法将旧产品URL与新产品URL相匹配。有些名字已经改变了 因此,我想将/product/目录中的所有页面重定向到单个页面,即主页或所有库存页面 我已经有重写规则了Apache htcaccess将子目录重定向到单个页面,apache,.htaccess,mod-rewrite,redirect,Apache,.htaccess,Mod Rewrite,Redirect,在我在现场测试之前,我想确定我有这个权利。在我开始为我现在的雇主工作之前,他们做了一次网站更新,但没有保持相同的URL命名结构。因此,即使我们的网站地图已经更新,我们仍然会在谷歌上发现404个爬网错误。它将列出旧的URL,然后说,然后列出旧的链接作为它们的链接来源。我不确定我需要什么来纠正这个问题 旧结构是domain.com/product/12345/product\u name 新结构是domain.com/category-name/12-product-name。实际上,没有办法将旧产
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} www.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
要重定向产品目录中的所有页面,我应添加:
RedirectMatch 301 ^/product/(.*) http://domain.com/
我还看到了一个重写规则和重定向永久。不确定我想做的事情的最佳实践是什么。使用
mod\u rewrite
模块保留所有规则:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
RewriteRule ^product/.* / [L,NC,R=301]