我想知道是否可以将所有站点保留在ssl下,除了两个子文件夹作为外部调用apache的端点。
我的网站(www.example.com),用户只能看到https
,我希望保持example.com/subfolder1
和example.com/subfolder2
也可以通过正常http
协议。有可能吗?
这是apache的.conf文件。
<VirtualHost 127.0.0.1:8080>
ServerName example.com
ServerAlias www.example.com
Redirect / https://www.example.com/
</VirtualHost>
我试图避免使用.htaccess文件,是否有可能?谢谢大家!
答案 0 :(得分:2)
您可以使用重写(而不是重定向),以便设置条件。也许是这样的:
<?php
$user="root"; $pass=""; $db="realesate";
$db = new mysqli('localhost', $user, $pass, $db);
//check connection
if ( $db->connect_error) {
die('Connect Error: ' . $db->connect_errno . ': ' . $db->connect_error );
}
//insert data
$sql = "insert into agent (AgentFName , AgentMName , AgentLName , AgentContact , AgentEmail, AgentAddress , agentType)
values (
'{$db->real_escape_string($_POST['fname'])}' ,
'{$db->real_escape_string($_POST['mname'])}' ,
'{$db->real_escape_string($_POST['lname'])}' ,
'{$db->real_escape_string($_POST['contact'])}' ,
'{$db->real_escape_string($_POST['email'])}' ,
'{$db->real_escape_string($_POST['homeAdd'])}' ,
'{$db->real_escape_string($_POST['agentType'])}')";
$insert = $db->query($sql);
if ($insert) {
echo"";
}
//close connection
$db->close();
?>
您必须为此启用重写模块:
<VirtualHost 127.0.0.1:8080>
ServerName example.com
ServerAlias www.example.com
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/(subfolder1|subfolder2)/? [NC]
RewriteRule ^(.*) https://www.example.com%{REQUEST_URI} [R,L]
</VirtualHost>