我在www.example.com/blog上有一个包含博客的网页,但永久链接结构是www.example.com/blog-post-url。我从几年前开始在网络上链接了博客文章,其中有一个不同的永久链接结构,即www.example.com/blog/blog-post-url。
所以我需要做的是将/ blog / blog-post-url中的所有旧博客链接重定向到/ blog-post-url,但实际上没有将/ blog目录(博客主页url)重定向到root /.
答案 0 :(得分:1)
尝试添加到htaccess文件的顶部:
RewriteEngine On
RewriteRule ^blog/(.+)$ /$1 [L,R=301]
答案 1 :(得分:1)
或者您可以尝试使用.htaccess,但检查uri是/ blog / blog *,如果是,则只需将其重定向到/ blog *
所以它应该像RewriteRule ^/blogs/(.*)$ /$1
或类似的东西。
答案 2 :(得分:0)
尝试这种方法。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^blog/(.*)$ /$1 [L,R=301]
</IfModule>
这会将所有不存在的文件夹a.k.a博客帖子重定向到新位置(来自/ blog / blog-posts - &gt; / blog-posts),而不会重定向/ blog文件夹中的现有文件和目录。
转到/ blog / existing_directories不会重定向到/ existing_directories
将.htaccess文件放在根目录上,并且只能将博客帖子重定向到新链接。
希望有所帮助。