我有一个场景,其中最初在子目录中有一个带有子目录和内容等的站点/main
该站点和所有内容已移回根目录并且工作正常我们需要重写,以便对 , 等的任何 http 调用/main/
都/main/page1
重定向/main/page2
回/
目录,但uri/page1
等/page2
这是我们迄今为止所拥有的
RewriteCond %{REQUEST_URI} ^/main/.*
RewriteRule ^/main/(.*) /$1 [L]
欢迎任何意见 非常感谢
我有一个场景,其中最初在子目录中有一个带有子目录和内容等的站点/main
该站点和所有内容已移回根目录并且工作正常我们需要重写,以便对 , 等的任何 http 调用/main/
都/main/page1
重定向/main/page2
回/
目录,但uri/page1
等/page2
这是我们迄今为止所拥有的
RewriteCond %{REQUEST_URI} ^/main/.*
RewriteRule ^/main/(.*) /$1 [L]
欢迎任何意见 非常感谢
在 .htaccess 上下文中,在 RewriteRule 的第一个参数中匹配的 url 不包含前导斜杠,也不包含查询字符串。有一个前导斜杠将导致规则永远不匹配。在您的情况下,您的 RewriteCond 是不必要的,因为它完全匹配 RewriteRule 将匹配的内容。将您的规则更改为以下网址,它应该可以工作。请注意,这是内部重写(客户端不会看到此更改)。如果您需要重定向(客户端将在地址栏中显示没有 main 的 url),请将[R]
标志添加到规则中。
RewriteRule ^main/(.*)$ $1 [L]
请参阅文档。