我正在尝试将所有URL重定向到index.php,所以这个URL:
domain.com/home/stats
将指向:
domain.com/index.php
相反。
然而,我不想要指向"公共"目录的URL,比如:
domain.com/public/images
重定向到index.php.
我在这个网站上尝试了很多不同的重写,但到目前为止没有一个能100%工作。他们都只是将每个URL重定向到index.php,即使你试图访问公共目录。
这是我现在拥有的:
RewriteRule !^/public/.*$ index.php
我对RegEx知之甚少,但据我所知,使用"!"字符的意思是"除此之外"。但显然,在这种情况下,情况并非如此。
您可以尝试以下操作:
RewriteBase /
RewriteRule ^(public/.*) $1 [L]
RewriteRule ^index.php$ index.php [L]
RewriteRule ^(.*) index.php
第二行是让URI保持原样。第三行是避免在无限循环中捕获index.php。第一和第二ReWriteRule
应该在它们被处理之后立即停止([L]
)。最后一个适用于其他一切。