我正在尝试在htaccess文件中创建Apache 301重定向,从静态html页面到新的动态wordpress页面:
旧:example.com/category/item.html
新:示例/新页
没有类别的重定向工作正常,例如:
旧:example.com/item.html
新:示例/新页
但是对于类别,我尝试的每个重定向最终都会在网址末尾添加item.html:
example.com/newpage/item.html
我尝试了这些重定向:
Redirect 301 /category/item.html http://example.com/newpage
和
RewriteCond %{QUERY_STRING} ^/category/item.html$
RewriteRule ^$ http://example.com/newpage? [R=301,L]
答案 0 :(得分:0)
您需要在RewriteEngine On
行:
RewriteRule ^category/item\.html$ /newpage? [R=301,L,NC]
答案 1 :(得分:0)
问题已通过简单的重定向301 以正确的顺序解决:
Redirect 301 /category/oldpage.html /newpage
Redirect 301 /category /newpage
我在错误的优先级中使用它,所以它最初没有工作。不管怎样,谢谢。
答案 2 :(得分:0)
.htaccess中的重定向对我不起作用时,我使用jQuery。如果您有冲突,请将jQuery放在file.js
中:
<script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.min.js"> </script>
<script type="text/javascript">
$(document).ready(function() {
$('a[href^="https://example.com/category/item.html"]').each(function() {
var oldUrl = $(this).attr("href"); // Get current url
var newUrl = oldUrl.replace("https://example.com/category/item.html", "https://example/newpage"); // Create new url
$(this).attr("href", newUrl); // Set herf value
});
});
</script>