【发布时间】:2011-10-21 02:17:58
【问题描述】:
为了我们公司的SEO需求,我们需要通过301将一些SEO URL更改为另一个。
示例:
/seo/keywords-1-2-3/ 到 /seo/mynew301page-1-2-3/
是否有一些 Apache 重写规则,我可以指定某些 URL 应该重定向到新的?
【问题讨论】:
标签: apache url mod-rewrite seo
为了我们公司的SEO需求,我们需要通过301将一些SEO URL更改为另一个。
示例:
/seo/keywords-1-2-3/ 到 /seo/mynew301page-1-2-3/
是否有一些 Apache 重写规则,我可以指定某些 URL 应该重定向到新的?
【问题讨论】:
标签: apache url mod-rewrite seo
就这么简单:
Redirect 301 /seo/keywords-1-2-3/ /seo/mynew301page-1-2-3/
以上内容会将所有以/seo/keywords-1-2-3/ 开头的URL 请求重定向到/seo/mynew301page-1-2-3/。 例如: /seo/keywords-1-2-3/something?say=hello ==> /seo/mynew301page-1-2-3/something?say=hello
如果它必须是精确匹配(只有/seo/keywords-1-2-3/而不是/seo/keywords-1-2-3/something,那么使用这个:
RedirectMatch 301 ^/seo/keywords-1-2-3/$ /seo/mynew301page-1-2-3/
相同,但使用 mod_rewrite:
RewriteEngine On
# broad (base) match
RewriteRule ^/seo/keywords-1-2-3/(.*)$ /seo/mynew301page-1-2-3/$1 [R=301,L]
# exact match
RewriteRule ^/seo/keywords-1-2-3/$ /seo/mynew301page-1-2-3/ [R=301,L]
【讨论】:
你可以通过两种方式做到这一点:
大多使用.htaccess的配置方式。
因此您可以在 .htaccess 文件中使用此代码:
RewriteEngine On
RewriteRule ^/seo/keywords-1-2-3/ /seo/mynew301page-1-2-3/ [R=301,L]
【讨论】: