我正在运行一个基于CI的web应用程序,该应用程序在其旧服务器上运行良好,但我正在将其迁移到google云上的centos 7/cwp实例。
在我设置它之后,我通常如何设置CI,im获得HTTP 500和内部服务器错误。
我怀疑这和.htacess有关,但我不知道出了什么问题。任何帮助都是非常感谢的!
它在google云实例的centos 7上运行CWP。我做过的事:
下面是我来自旧服务器的当前.htaccess文件:
# 301 Redirect URLs.
Redirect 301 /www.example.com/example/about-us https://www.example.com/home/pages/about-us
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
//RewriteRule . index.php
RewriteCond %{HTTPS} off
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9] {32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
<Files 403.shtml>
order allow,deny
allow from all
</Files>
RewriteCond %{HTTP_HOST} ^\*\.example\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.\*\.example\.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com" [R=301,L]
RewriteCond %{HTTP_HOST} ^example.com$
//RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/(?:\ Ballot169)?
//RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteRule ^/?$ "https\:\/\/www\.example\.com\/" [R=301,L]当我使用上面的.htaccess (与//旧的cpanel模式写入时,我会得到内部服务器错误消息),当我删除.htaccess或用其他或标准的CI .htaccess替换.htaccess时,我只会得到HTTP500错误。
发布于 2019-06-13 18:32:21
通过//旧的cpanel模式,我得到了内部服务器错误消息
您不能使用//在.htaccess中注释掉配置行--这肯定解释了您的即时500个错误。您需要使用#,如配置文件的第一行所示。
//重写规则。index.php
您不应该注释掉这一行-如果没有这个CI将无法路由您的URL。
当我删除.htaccess或用其他或标准的CI .htaccess替换.htaccess时,我只会得到HTTP500错误。
这很可能是另一个问题,所以我们需要看到您正在使用的精确的.htaccess文件。
顺便说一句,“内部服务器错误”和"HTTP 500错误“是同一回事--你似乎在暗示它们是不同的?
正如注释中所指出的,您应该检查服务器的错误日志以了解此错误的详细信息。
RewriteCond %{HTTP_HOST} ^\.example.com$或RewriteCond %{HTTP_HOST} ^www.\.example.com$ //RewriteCond %{REQUEST_URI}!^/.众所周知的/cpanel-dcv/0-9a-zA+$ //RewriteCond %{REQUEST_URI}!^/.众所周知的/pki-验证/(?:\ Ballot169)?//RewriteCond %{REQUEST_URI}!^/.众所周知/pki-验证/A0-9{32}.txt(?:\ Comodo\ DCV)?$ RewriteRule ^/?$“https\:\/www.example.com”R=301,L.L
这是在做什么?(在目前的状态下,它什么也不做。)
%{ !^/.well-known/pki-validation/A-F0-9{32}.txt(?:\ } ^example.com$ //RewriteCond %{REQUEST_URI}!^/.众所周知/cpanel-DCV/0-9a-zA+$ //RewriteCond %{REQUEST_URI}!^/.著名/pki-验证/(?:\ Ballot169)?//RewriteCond %{REQUEST_URI} Ballot169\ DCV)?$ RewriteRule ^/?$“?https\:\/www.example.com\/“R=301,L.L
这只会对文档根的请求进行规范化。它不会为任何其他URL做任何事情。但是,它也在配置文件中的错误位置,而且可能无论如何也不会做任何事情。它需要在文件的顶部,在CI前端控制器之前。
https://stackoverflow.com/questions/56585008
复制相似问题