1

我正在编写一个简单的 .htaccess 重写以强制单个页面使用 https(受此问题答案的启发)。

是不是用RewriteCond比较好,如下:

RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/page\.php$
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

或具有 RewriteRule 条件的较短替代方案:

RewriteCond %{HTTPS} off
RewriteRule ^page\.php$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
4

1 回答 1

3

好吧,如果您使用 apache 作为您的 httpd 服务器,那么您绝对可以安全地使用单一条件和单一规则,这足以完成您的给定任务。使用前者比使用较短的没有优势。我说,如果您不必制定/应用进一步的规则或检查,那么请使用较短的规则,而不是再应用一个额外的条件。我这么说是因为您的情况相当简单,您只需重定向到https一个给定的页面。

即使您在这里查看 AskApache 站点,他们也建议最好的方法是仅使用 %{HTTPS} 变量和一个 RewriteRule,这是最好和有效的方法。

如果您的担忧与我上面提到的不同,请告诉我。

于 2012-10-31T15:33:14.367 回答