Htaccess从根站点删除日期,但不从子域删除日期

时间:2016-07-11 作者:Chris Klongpayabal

我有一个站点和一个子域,例如:

http://www.example.com
http://store.example.com
在我的托管中,子域存储实际上是根站点上的一个文件夹。

在主站点上,我想进行永久链接重写,以删除永久链接中的日期,但不在商店中。mysite子域。我使用Yoast的重定向工具获取htaccess代码,即:

RedirectMatch 301 ^/([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)$ http://www.example.com/$4
这适用于根,但也适用于子域。我尝试仅在根站点上使用此htaccess规则:

RewriteCond %{HTTP_HOST} ^www\\.example\\.com$
RewriteRule ^([0-9]{4})\\/([0-9]{2})\\/([0-9]{2})\\/(.*) \\/$4 [R=301,NC,L]
但现在重定向根本不起作用。我已经搜索了所有我能找到的东西,但找不到像这样的特定用例。有没有htaccess方面的专家能帮我一把,让我知道我的代码出了什么问题?谢谢

1 个回复
最合适的回答,由SO网友:Chris Klongpayabal 整理而成

我找到了自己的答案,所以我把它贴在这里,这样如果其他人遇到同样的问题,他们可以看到我做了什么。

我的问题是基本Wordpress重定向代码:

# 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
位于htaccess文件的顶部,因此它是在任何重定向之前首先启动的。当我把它移到底部时,重定向又开始工作了。

因此,如果要使用rewritecond和rewriterule,它们需要在Wordpress rewritecond和rewriterule之前。

相关推荐

Redirect htaccess

我需要帮助重定向我的页面。例如,我有网站https://example.com. 我需要将内容从https://example.com 到https://example.com/blog. 这不是问题,我通过更改主页URL来做到这一点。这很有效。但现在我需要添加来自旧的重定向https://example.com 到https://xmpl.com.我想用。htaccess,但这不起作用。你们能帮帮我吗?以下是我对此的一些尝试,但两者都不起作用。RewriteEngine On RewriteRu