gpt4 book ai didi

.htaccess - 如果 url 包含特定单词,则 htaccess 重定向

转载 作者:行者123 更新时间:2023-12-01 09:29:28 25 4
gpt4 key购买 nike

我正在开发的一个网站有位于最新新闻目录中的新闻文章。

/news/latestnews/some-article-2012.html

这些现在已根据新闻文章的年份移到不同的目录中。所以 2013 年现在是:

/news/2013/some-article-2013.html

2012 年在:

/news/2012/some-article-2012.html

我可以使用以下方法轻松将最新消息发送到目录之一:

RewriteRule ^news/latestnews/(.*)$ /news/2011/$1 [R=301,L]

但我需要重定向到特定年份目录。所有新闻文章都包含名称中的年份。所以 some-article-2012 或 some-article-2013。

关于调整我的规则以检查年份的任何帮助。

谢谢

=========编辑========

我已设法添加一些 RewriteCond 以重定向到正确的目录,但在附加请求的文件名时遇到了问题。

所以使用这条规则

RewriteCond %{REQUEST_URI} ^/news/latestnews/(.*)$
RewriteCond %$1 ^(.*)2012(.*)$
RewriteRule ^(.*)$ /news/2012 [R=301,L]

这个网址

/news/latestnews/some-article-2012.html

重定向到

/news/2012 

但网址中缺少“some-article-2012.html”。

我尝试在重写规则的末尾添加 $1,所以你有:

    RewriteRule ^(.*)$ /news/2012$1 [R=301,L]

但是完整的旧网址会被附加,所以你有:

/news/2012/news/latestnews/some-article-2012.html

最佳答案

好吧,我不能完全相信这一点,因为它是由另一个论坛上的用户发布的,但我想我会分享以防它对这里的某人有所帮助。

RewriteCond %{REQUEST_URI} ^/news/latestnews/(.*)$
RewriteRule ^news/latestnews/(.*)(201[0-9])(.*)$ /news/$2/$1$2$3 [R=301,L]

这实际上将处理从 2010 年开始的所有年份。

关于.htaccess - 如果 url 包含特定单词,则 htaccess 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17592215/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com