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]
我有一个网站,当它在 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]