Regex 将重定向匹配转换为重写规则
我试图在我们的子目录www.example.com/us/htaccess文件(不是根htaccess)中放置一行代码,以使www.example.com/us和www.example.com/us/重定向到www.example.com,但没有其他内容——因此www.example.com/us/file.txt或www.example.com/dir/file.txt不会重定向 我试过:Regex 将重定向匹配转换为重写规则,regex,.htaccess,mod-rewrite,redirect,Regex,.htaccess,Mod Rewrite,Redirect,我试图在我们的子目录www.example.com/us/htaccess文件(不是根htaccess)中放置一行代码,以使www.example.com/us和www.example.com/us/重定向到www.example.com,但没有其他内容——因此www.example.com/us/file.txt或www.example.com/dir/file.txt不会重定向 我试过: RedirectMatch ^/us$ http://www.example.com/ Redirect
RedirectMatch ^/us$ http://www.example.com/
RedirectMatch ^/us/$ http://www.example.com/
但它导致了一个循环,因为文件中存在其他重写条件(我认为)
我试着转换为重写规则,如下所示
RewriteEngine on
RewriteRule ^us(.*)$ /$1 [R=301,L]
不走运
RewriteEngine on
RewriteRule ^us/?$ /$1 [R=301,L]
不走运
RewriteEngine on
RewriteRule ^us/?$ /$1 [R=301,L]
谢谢你的帮助。这样就可以了
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/us/*$
RewriteRule ^(.*)$ / [R=301,L]
如果您确实想转到
/
,为什么要尝试重定向到/$1
?此外,第二条规则甚至不能捕获任何内容,因此使用反向引用在那里根本没有意义。如果我知道如何使其工作,我就不会问问题。你能给我一个建议吗?@user3879788总是很乐意帮助:)请将这个答案标记为已接受,然后人们就会知道它已经解决了,我会非常感激:)这是数字2下面的勾号和左边的箭头:)谢谢。行了!非常感谢你。(我关于stackoverflow的第一个问题在几分钟内就得到了回答——太棒了。)@user3879788总是很乐意帮助:)请将此答案标记为已接受,然后人们就会知道它已经解决了,我会非常感激:)这是数字2下面的勾号和左边的箭头:)谢谢。