Heim > Fragen und Antworten > Hauptteil
Die Verwendung dieser Methode ist fehlgeschlagen/q/10...
Nicht nur die statische Ressource 302 springt, sondern auch die 404.html, zu der gesprungen wird, kann nicht geladen werden, und das PHP hinter der URL kann nicht entfernt werden. Bitte helfen Sie mir, das Problem zu lösen! ! !
Dienginx-spezifische Konfiguration ist wie folgt
Port 80
server {
listen 80;
server_name crazyc.cn www.crazyc.cn;
root /var/www/html/;
#rewrite ^/(.*)$ https://crazyc.cn/index.php permanent;
if ($ssl_protocol = "") {
return 301 https://$server_name$request_uri;
}
if ($host != 'crazyc.cn' ) {
return 301 https://crazyc.cn$request_uri;
}
error_log /logs/error.log;
charset utf-8;
client_body_buffer_size 512k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 4000;
proxy_buffers 32 4k;
client_max_body_size 75m;
# Load configuration files for the default server block.
location / {
index index.html index.php;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php last;
}
}
}
include vhost/*;
Port 443 unter vhost/
server {
listen 443 ssl;
server_name crazyc.cn www.crazyc.cn;
ssl on;
ssl_certificate /root/.acme.sh/crazyc.cn/fullchain.cer;
ssl_certificate_key /root/.acme.sh/crazyc.cn/crazyc.cn.key;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!ADH:!EXPORT56:RC4+RSA:+MEDIUM;
error_log /logs/error.log;
error_page 404 = https://crazyc.cn/404.html;
charset utf-8;
client_max_body_size 75m;
# Load configuration files for the default server block.
location ~ .*\.php(\/.*)*$ {
root html;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
#include fastcgi.conf;
#fastcgi_pass 127.0.0.1:9000;
}
access_log logs/yourdomain.log combined;
}
曾经蜡笔没有小新2017-05-17 09:57:38
你的80端口里面配的东西太多了,80里面只需要配一样,就是所有请求跳到443.然后具体修改443的配置。
443里面你只指定了php的访问,没有指定静态资源的路径。参考配置如下:
server {
listen 80;
server_name crazyc.cn www.crazyc.cn;
rewrite ^ https://$server_name$request_uri permanent;
}
server {
listen 443 ssl;
server_name crazyc.cn www.crazyc.cn;
index index.php;
charset utf-8;
ssl on;
ssl_certificate /root/.acme.sh/crazyc.cn/fullchain.cer;
ssl_certificate_key /root/.acme.sh/crazyc.cn/crazyc.cn.key;
ssl_ciphers "CHACHA20:GCM:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 静态资源
location ~* .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|apk|ttf|woff|woff2|svg|flv|swf)$ {
add_header Access-Control-Allow-Origin *;
root /example/path/; # 这里配你的静态资源文件根路径
}
# 以下是php配置
location / {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
try_files $uri $uri/ /index.php?$args;
}
如果你的静态资源与php文件放在一起,静态资源里面的root可以放到外边来,像这样:
server {
listen 80;
server_name crazyc.cn www.crazyc.cn;
rewrite ^ https://$server_name$request_uri permanent;
}
server {
listen 443 ssl;
server_name crazyc.cn www.crazyc.cn;
root /example/path/; # 这里配你的静态资源文件根路径
index index.php;
charset utf-8;
ssl on;
ssl_certificate /root/.acme.sh/crazyc.cn/fullchain.cer;
ssl_certificate_key /root/.acme.sh/crazyc.cn/crazyc.cn.key;
ssl_ciphers "CHACHA20:GCM:HIGH:!DH:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS";
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
# 静态资源
location ~* .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css|apk|ttf|woff|woff2|svg|flv|swf)$ {
add_header Access-Control-Allow-Origin *;
}
# 以下是php配置
location / {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
try_files $uri $uri/ /index.php?$args;
}
}