我需要做301重定向从xyz.com/folder/post-slug
到xyz.com/post-slug
通过.htaccess
,并希望保持这两个重写规则。
目的是使url在有/folder/
的情况下也能正常工作。
这是现有的规则:
RewriteRule ^folder/([A-Za-z0-9-]+)/?$ post-details.php?url=$1 [NC,L]
我试图保留现有的一个,并添加了另一个这样的:
RewriteRule ^folder/([A-Za-z0-9-]+)/?$ post-details.php?url=$1 [NC,L]
RewriteRule ^([A-Za-z0-9-]+)/?$ post-details.php?url=$1 [NC,L]
但它不起作用
1条答案
按热度按时间f87krz0w1#
你有两个选择:
1.重写+规范:
将
your.example/folder/post-slug
和your.example/post-slug
的规范 meta标记设置为your.example/post-slug
。停止链接到旧的URL,新的URL是人们将使用和搜索引擎将看到的。优点:对SEO有好处。缺点:可能会破坏期望页面位于新URL的相对链接。
1.重定向+重写:
用户和搜索引擎都将被发送到新的URL。
优点:不需要做canonical tag。缺点:浪费了到服务器的往返,所以对SEO没有那么好。
请注意,我在重写中添加了
DPI
和QSA
flags,因为几乎总是需要它们来避免递归的内部重定向问题。