这是我简单的.htaccess 我的目标只是添加重定向/常见问题的规则 - >我的HTTPS服务器上的faq.php。
# force ssl
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R]
RewriteRule faq faq.php
我也尝试过:
RewriteRule faq faq.php
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R]
如果我取消注释http-> https重定向规则,这样可以正常工作。
所以我尝试做的是:
- >如果是http,则重定向到https
- > if / faq然后重定向到faq.php
当我删除这些行
时RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R]
faq-> faq.php有效,但我丢失了整个网站的http-> https重定向
答案 0 :(得分:1)
每个RewriteCond
至少应有一个RewriteRule
。
尝试
RewriteCond %{REQUEST_URI} ^/faq$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/faq.php [R]
在前两行之后(而不是第三行)。
编辑:
就我的意思而言,它是
RewriteCond %{SERVER_PORT} ^80$
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R]
RewriteCond %{REQUEST_URI} ^/faq$
RewriteRule ^(.*)$ https://%{SERVER_NAME}/faq.php [R]
即两个RewriteCond
指令。