.htaccess 将 RedirectMatch 替换为 RewriteRule
.htaccess replace RedirectMatch with RewriteRule
我尝试在我的 .htaccess 中转换有效的 RedirectMatch
RedirectMatch 301 ^/babysearch/(faq|whats-new|gallery|daily-winners|prizes) /babysearch
重写规则,但它不起作用
RewriteRule ^/blog/(faq|whats-new|gallery|daily-winners|prizes)$ /blog/ [R=301,NC,L]
那是我的 mod_rewrite.c 标签
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QSA,L]
RedirectMatch 301 ^/blog/(faq|whats-new|gallery|daily-winners|prizes) /blog
</ifModule>
想法
使用您显示的示例,请尝试执行以下操作。请在测试您的网址之前清除浏览器缓存。
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^blog/(faq|whats-new|gallery|daily-winners|prizes)/?$ /blog/ [R=301,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [QSA,L]
</ifModule>
修复 OP 的尝试:
- 确保您的重定向在不存在的检查规则之前。
- 然后您需要从重定向规则中删除开始
^/
,因为它永远不会满足。
- 我们不需要在索引重写中提及
^(.*)
只需在那里提及 ^
。
我尝试在我的 .htaccess 中转换有效的 RedirectMatch
RedirectMatch 301 ^/babysearch/(faq|whats-new|gallery|daily-winners|prizes) /babysearch
重写规则,但它不起作用
RewriteRule ^/blog/(faq|whats-new|gallery|daily-winners|prizes)$ /blog/ [R=301,NC,L]
那是我的 mod_rewrite.c 标签
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.html [QSA,L]
RedirectMatch 301 ^/blog/(faq|whats-new|gallery|daily-winners|prizes) /blog
</ifModule>
想法
使用您显示的示例,请尝试执行以下操作。请在测试您的网址之前清除浏览器缓存。
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^blog/(faq|whats-new|gallery|daily-winners|prizes)/?$ /blog/ [R=301,NC,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.html [QSA,L]
</ifModule>
修复 OP 的尝试:
- 确保您的重定向在不存在的检查规则之前。
- 然后您需要从重定向规则中删除开始
^/
,因为它永远不会满足。 - 我们不需要在索引重写中提及
^(.*)
只需在那里提及^
。