我试图将一个(htm)文件重定向到php文件。
我的重写规则如下所示:
RewriteRule ^market-intelligence/rfp/rfp-awards/proposals/winning-proposals_subscribers\.htm$ market-intelligence/rfp/rfp-awards/proposals/index.php [L,R=301]
但它没有重定向。我错过了什么?
由于
答案 0 :(得分:1)
规则顺序在.htaccess中至关重要。通常,应该在内部重写规则之前保留所有外部重定向规则。可能发生的情况可能是内部重写规则可能会更改REQUEST_URI
变量,这可能导致R=301
规则失败或失败。
例如,如果你的上述规则出现在前控制器下面,那么这样的规则:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]
RewriteRule ^foo$ /bar [L,R=301]
不会重定向/ foo到/ bar 。