php - 使用Nginx搭建Typecho静态资源全部302跳转到404页面
我想大声告诉你
我想大声告诉你 2017-05-17 09:55:38
0
1
541

使用该方法失败/q/10...

不光静态资源302跳转,而且跳转到的404.html还无法加载,还有就是url后面的php去不掉,求大神解决!!!

nginx具体配置如下

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/*;

vhost/下的443端口

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; }
我想大声告诉你
我想大声告诉你

全部回复 (1)
曾经蜡笔没有小新

你的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; } }
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责声明 Sitemap
    PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!