重新启动我们的网站后,我们必须将大多数链接重定向到大多数全新的网址路径。这导致我们在htaccess中列出301重定向,如下所示。但是出于一些奇怪的原因,一些规则重定向到与.htaccess中写入的页面不同的页面。我已经在文件中搜索了任何其他重定向到生成的URL(显然最终在404中),但它没有制定。
例如,以下301重定向最终会出现错误的网址
Removed due to SEO
最终:由于SEO而被删除
完整的.htaccess:
Removed due to SEO
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
更新:
我认为它与以下设置有关:
因SEO而被删除
因为在第一行'curriculum-vitae-startpagina'被更改为新结构,它会自动重定向第二个url,然后第二次重写甚至可以找到链接。对此的解决方案是写入只有完全 url'/ curriculum-vitae-startpagina /'没有其子页面会受到此重写的影响。
有没有办法做到这一点?
答案 0 :(得分:0)
经过长时间的挖掘,我自己找到了解决方案。
正如我在帖子中更新的那样,父文件夹重定向已经影响了子URL,使得子URL不再与重写规则匹配。
要确保父文件夹重写不会影响子页面/文件,请使用RedirectMatch而不是Redirect:
RedirectMatch ^/folder$ http://example.com/
这将确保仅重写文件夹本身,而不是其子页面/文件。
找到了解决此问题根源的问题here