看一下我的重写日志:
(2)使用请求的 uri /bundles/astrupsspectacle/spectacle.css 初始化重写引擎 (3)将模式 '^(.*)$' 应用于 uri '/bundles/astrupsspectacle/spectacle.css' (4)RewriteCond:input='${REQUEST_URI}'pattern='!^/app\.php'=>匹配 (4)RewriteCond:输入='${REQUEST_URI}'模式='!^/bundles/'=>匹配 (2)重写'/bundles/astrupsspectacle/spectacle.css'->'/app.php/bundles/astrupsspectacle/spectacle.css' (2)本地路径结果:/app.php/bundles/astrupsspectacle/spectacle.css (2)以 document_root 为前缀,添加至 /srv/spectacle/web/app.php/bundles/astrupsspectacle/spectacle.css (1)继续使用/srv/spectacle/web/app.php/bundles/astrupsspectacle/spectacle.css [确定]
它说pattern='!^/bundles/' => matched
尽管清楚地没有。我的模式是:
RewriteCond ${REQUEST_URI} !^/bundles/
但我也尝试过:
RewriteCond ${REQUEST_URI} !^bundles/
乃至:
RewriteCond ${REQUEST_URI} !^bundles
而且都说“匹配”。这是什么鬼?
答案1
您使用的环境变量符号错误。应该是%
而不是$
。因此条件应该是
RewriteCond %{REQUEST_URI} !^/bundles/