htaccess 如何将 404 重定向到变量 url 而不会导致无限循环?

htaccess how to redirect 404 to a variable url without causing infinite loop?

我有一个网站,当它在 url 的第一个相对路径上出现 404 错误时,我希望它立即重定向到相对于用户键入内容的路径。

例如输入是:site.com/input 我希望第一级 url 字符串重定向到:site.com/m/input

我正在尝试这样的方法,它有效但会导致无限循环:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# RewriteRule . /index.php [L]
RewriteRule ^ http://www.website.com/m%{REQUEST_URI} [R,L]

所以基本上,我希望它只触发一次,如果 /m/{variable url} 的 url 不存在,那么我希望它落在实际的 404 上页面或 wordpress 默认的 RewriteRule 。 /index.php [L]

这可能吗? 非常感谢, 里昂

如果已经是 /m/ URL:

添加另一个条件不重定向
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/m/
RewriteRule ^ http://www.website.com/m%{REQUEST_URI} [R,L]