【发布时间】:2013-05-07 10:53:22
【问题描述】:
我已经尝试解决此问题 3 天,但找不到答案,所以我希望有人能够对此有所了解。
我希望使用 .htaccess 将 URL 动态重写为永久 301 重定向,以实现 SEO 目的。我希望更改以下内容:
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=facebook/page/5/
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=twitter/page/2/
OLD URL EXAMPLE: http://example.co.uk/blog/?tag=google/page/12/
到
NEW URL: http://example.co.uk/blog/?tag=facebook&paged=5
NEW URL: http://example.co.uk/blog/?tag=twitter&paged=2
NEW URL: http://example.co.uk/blog/?tag=google&paged=12
我需要能够重复使用两个动态属性,标签 eg('facebook') 和分页编号 eg('5')传入的 url 请求,因为这些请求可能因每个请求而异。
这样做的原因是因为我们正在尝试解决未使用分页的旧 wordpress 博客中的 404 错误,只有“下一个”和“上一个”显示为“/page/5”。新博客使用显示为“&paged=5”的分页。
这是我尝试过的一个示例。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/blog/$
RewriteCond %{QUERY_STRING} ^tag=([a-z]+)/page/([0-9])$
RewriteRule ^(.*)$ http://example.co.uk/blog/?tag=%1&paged=%2 [R,L]
PHP 作为 CGI 运行,无法更改为 apache,导致整个站点出现大量权限问题。
我尝试了多种 RewriteRules、RewriteConds 和 %{QUERY_STRING} 请求的组合,但仍然没有任何乐趣。对此的任何帮助将不胜感激!
【问题讨论】:
标签: .htaccess url mod-rewrite url-rewriting seo