我将以 htaccess 和 mod_rewrite 不是我最好的领域这一事实作为开头。我编写了一个供个人使用的 php MVC 框架,在文档根目录中,我有一个名为“public”的文件夹,用于存放 css、js、图像等。每个 HTTP 请求都会针对“public”中的文件进行检查,如果存在,它发送该文件;否则它会重定向到框架的 index.php。
规则有效,但如果在“公共”中进行匹配,它仍会路由到 index.php。如果我注释掉重定向到 index.php 的最后一行,css 和 js 会正确加载。在“公开”匹配完成后,我无法让它停止处理。
提前致谢
Options +FollowSymLinks
RewriteEngine On
#If file exists as public resource
RewriteCond %{DOCUMENT_ROOT}/public/$1 -f
RewriteRule ^(.*) %{DOCUMENT_ROOT}/public/$1 [NC,L]
#Redirect everything else to index.php
RewriteRule ^(.*) index.php [NC,L]