Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 仅在https上获取禁止403错误,但url http工作正常_Codeigniter_Ssl_Amazon Ec2_Http Status Code 403_Apache2.4 - Fatal编程技术网

Codeigniter 仅在https上获取禁止403错误,但url http工作正常

Codeigniter 仅在https上获取禁止403错误,但url http工作正常,codeigniter,ssl,amazon-ec2,http-status-code-403,apache2.4,Codeigniter,Ssl,Amazon Ec2,Http Status Code 403,Apache2.4,在我的服务器上,我有根上的wordpress站点和wordpress中的codeigniter项目作为子文件夹,我为codeigniter项目创建了子域。没有SSL,两者都可以正常工作。现在我想在子域项目上应用SSL,同时在我面临的问题上应用SSL。当我打开网站使用它是给我禁止403错误 下面是我在apache上托管的站点的示例。我有我的根wordpress项目的符号链接 -工作正常-根目录上的wordpress项目 -工作正常-wordpress项目文件夹下的codeigniter项目 -获得

在我的服务器上,我有根上的wordpress站点和wordpress中的codeigniter项目作为子文件夹,我为codeigniter项目创建了子域。没有SSL,两者都可以正常工作。现在我想在子域项目上应用SSL,同时在我面临的问题上应用SSL。当我打开网站使用它是给我禁止403错误

下面是我在apache上托管的站点的示例。我有我的根wordpress项目的符号链接

-工作正常-根目录上的wordpress项目

-工作正常-wordpress项目文件夹下的codeigniter项目

-获得禁止的错误

以下是我的apache ssl虚拟主机文件数据

<IfModule mod_ssl.c>
        <VirtualHost *:443>
                ServerAlias subdomain.example.com
                ServerName subdomain.example.com
                DocumentRoot /var/www/html/wordpress

                ErrorLog ${APACHE_LOG_DIR}/error.log
                CustomLog ${APACHE_LOG_DIR}/access.log combined

                SSLEngine on
                SSLCertificateFile      /home/ubuntu/wordpress/cdq/my-ssl-certifications/fc1d71b08ac8aab1.crt
                SSLCertificateKeyFile /home/ubuntu/wordpress/cdq/my-ssl-certifications/host.key
                SSLCertificateChainFile /home/ubuntu/wordpress/cdq/my-ssl-certifications/gd_bundle-g2-g1.crt
<FilesMatch "\.(cgi|shtml|phtml|php)$">
                                SSLOptions +StdEnvVars
                </FilesMatch>
                <Directory /usr/lib/cgi-bin>
                                SSLOptions +StdEnvVars
                </Directory>
                <Directory /var/www/html/wordpress>
                        Options Indexes FollowSymLinks MultiViews
                        AllowOverride All
                        Require all granted
                </Directory>



        </VirtualHost>
</IfModule>
htaccess子文件夹项目

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]

RewriteRule ^(.*)$ /index.php/$1 [L]

您的配置中存在一些与权限相关的问题:

<Directory /var/www/html/wordpress>
                    Options Indexes FollowSymLinks MultiViews
                    AllowOverride All
                    Require all granted
</Directory>

选项索引跟随符号链接多视图
允许超越所有
要求所有授权
它需要为所有文件授予权限。所以你所要做的就是让它像:

<Directory "/var/www/html/wordpress">
     AllowOverride All
</Directory>

允许超越所有
p.S.我已经修改了您的文件,您可以像这样使用它:

<Directory "/var/www/html/wordpress">
     AllowOverride All
</Directory>

ServerAlias subdomain.example.com
ServerName subdomain.example.com
DocumentRoot/var/www/html/wordpress
允许超越所有
ErrorLog${APACHE_LOG_DIR}/error.LOG
CustomLog${APACHE\u LOG\u DIR}/access.LOG组合
斯伦金安
SSLCertificateFile/home/ubuntu/wordpress/cdq/my ssl certificates/fc1d71b08ac8aab1.crt
SSLCertificateKeyFile/home/ubuntu/wordpress/cdq/my ssl certifications/host.key
SSLCertificateChainFile/home/ubuntu/wordpress/cdq/my ssl certifications/gd_bundle-g2-g1.crt
发展+标准
发展+标准
浏览器匹配“MSIE[2-6]”\
nokeepalive ssl不干净关闭\
降级-1.0力响应-1.0
BrowserMatch“MSIE[17-9]”ssl不干净关闭


没有重大变化。我只是根据我的工作文件修改它。希望它能帮助您。

终于解决了这个问题。问题与项目文件夹结构的权限有关。现在一切正常

您的错误日志中是否有任何内容?我的日志中没有任何与此相关的内容。您是否已将ci项目转到www data?是的,ParkerDell。当我在url中使用http时,它可以正常工作,只是在使用HTTPS时出现了禁止的错误。没有必要在RewriteCond%{http_HOST}子域上的wordpress站点RewriteEngine的.htaccess中执行此操作。example.com$RewriteCond%{REQUEST_URI}^/子文件夹重写规则^(.*)$/subfolder/$1[L]谢谢@Deepak Sharma。但是通过正确设置权限,我的问题就解决了。基本上,主要问题是权限
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
    ServerAlias subdomain.example.com
    ServerName subdomain.example.com
    DocumentRoot /var/www/html/wordpress
<Directory "/var/www/html/wordpress">
   AllowOverride All
</Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    SSLEngine on
            SSLCertificateFile      /home/ubuntu/wordpress/cdq/my-ssl-certifications/fc1d71b08ac8aab1.crt
            SSLCertificateKeyFile /home/ubuntu/wordpress/cdq/my-ssl-certifications/host.key
            SSLCertificateChainFile /home/ubuntu/wordpress/cdq/my-ssl-certifications/gd_bundle-g2-g1.crt
            <FilesMatch "\.(cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
            </FilesMatch>
            <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
            </Directory>
    BrowserMatch "MSIE [2-6]" \
                    nokeepalive ssl-unclean-shutdown \
                    downgrade-1.0 force-response-1.0
    BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
</VirtualHost>