首先,我想说我对.htaccess文件几乎不了解。
我想知道是否可以通过以下方式将example.com重定向到特定目录:
www.example.com/YYYY/MM/
www.example.com/2019/01/article-title
会将我带到 foo 目录,而其他格式会将我带到 bar 目录。
我具有当前的代码,可从public_html重定向到另一个文件夹,但不知道如何制作if语句
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteCond %{REQUEST_URI} !^/wp/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /wp/$1
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^(/)?$ wp/index.php [L]
</IfModule>
谢谢。
答案 0 :(得分:1)
将请求转发到这种模式的特定规则看起来很简单:
RewriteEngine on
RewriteRule ^/?(\d+/\d+/.*)$ /foo/$1 [END]
RewriteRule ^/?(.*)$ /bar/$1 [END]
如果您想确切说明确切的格式,则可能更接近:
RewriteEngine on
RewriteRule ^/?(\d\d\d\d/\d\d/.*)$ /foo/$1 [END]
RewriteRule ^/?(.*)$ /bar/$1 [END]
两个变体都会在内部将/2019/01/article-title
重写为/foo/2019/01/article-title
。我假设,这就是您真正想要实现的目标。与初始规则匹配的所有 not 网址请求都将被重写为/bar/...
。