【发布时间】:2020-09-13 21:31:27
【问题描述】:
我正在尝试同时应用两个 RewriteRules。它们都完全按照预期独立工作(当另一个被注释掉时),但是当放在.htaccess 文件中时,只有第一个规则有效。
如何同时使用这些?
RewriteEngine On
# Redirect everything to this file
RewriteRule ^ public/index.php [QSA,L]
# Rewrite location of the storage files making them public
RewriteRule ^storage/(.*)$ app/files/public/$1 [QSA]
【问题讨论】:
-
更改订单?您的第一条规则适用于 所有 请求,然后您在其中得到
L标志,表示“完成这一轮”。所以当然第二条规则永远不会适用。重写的经验法则是 - 始终按照从更具体到不太具体的顺序进行。 -
@CBroe 感谢您的建议,但更改顺序不允许两种规则共存。
-
您是否将
L标志放在 - 现在 - 第一条规则上,以便第二条不会将 everything 重写到公用文件夹中的 index.php之后再来一次? -
@CBroe 谢谢你的解释。这很有帮助。
标签: html apache .htaccess mod-rewrite