我一直在尝试解决这个问题 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
我需要能够为传入的每个 url 请求重新使用两个动态属性,例如标签('facebook')和分页号('5'),因为每个请求可能会有所不同。
这样做的原因是因为我们正在尝试从我们的旧 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} 请求的组合,但仍然没有任何乐趣。对此的任何帮助将不胜感激!