301 将所有博客文章重定向到新的子文件夹

301 Redirect All Blog Posts To New Subfolder

我目前正在使用这个 .htaccess 重写来为我的博客文章获取漂亮的 url:

RewriteRule ^([a-zA-Z0-9-]+)$ /item.php?slug= [L]

这最终看起来像:

example.com/my-new-awesome-blog-post

我想要的是将我所有的帖子移动到一个名为 items 的新文件夹中,这样它看起来像:

example.com/items/my-new-awesome-blog-post

我不仅要将所有博文移动到子文件夹,还要确保它是正确的 301 重定向,这样 SEO 就没有问题。

感谢您的help/advice。

您可以在 DOCUMENT_ROOT/.htaccess 文件中使用此代码:

Options -MultiViews
RewriteEngine On
RewriteBase /

# If the request is not for a valid directory
RewriteCond %{REQUEST_FILENAME} !-d
# If the request is not for a valid file
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{THE_REQUEST} !\s/+items/ [NC]
RewriteRule ^ items%{REQUEST_URI} [L,NE,R=302]

RewriteRule ^items/([a-zA-Z0-9-]+)/?$ items/item.php?slug= [L,QSA]