前提・実現したいこと
現在ワードプレスでWEBサイトを制作中です。
ワードプレスにて画面遷移を行いたいと思ったところ、
パーマリンク設定を変更した後からエラーが404エラーや file not found となっております。
現在色々と試しているところです。
お力添えいただけると幸いです。
エラーメッセージ
[error] 22496#0: *6662 "/Users/username/works/www/wordpress/自動下書き/index.html" is not found (2: No such file or directory)
usr/local/etc/nginx/nginx.conf
#user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; keepalive_timeout 65; #エラーため。too big header fastcgi_buffers 8 16k; fastcgi_buffer_size 32k; #gzip on; server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root /Users/username/works/www; index index.html index.htm index.php; } #error_page 404 /404.html; # redirect server error pages to the static page /50x.html # error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } # proxy the PHP scripts to Apache listening on 127.0.0.1:80 # #location ~ .php$ { # proxy_pass http://127.0.0.1; #} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 # location ~ .php$ { root /Users/username/works/www; 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?q=$uri; } # deny access to .htaccess files, if Apache's document root # concurs with nginx's one # #location ~ /.ht { # deny all; #} } # another virtual host using mix of IP-, name-, and port-based configuration # #server { # listen 8000; # listen somename:8080; # server_name somename alias another.alias; # location / { # root html; # index index.html index.htm; # } #} # HTTPS server # #server { # listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root html; # index index.html index.htm; # } #} include servers/*; }
usr/local/etc/php/7.3/php-fpm.d/www.conf
(php-fpm.confのパーミッション644)
(www.confのパーミッション755に変更)
[www] user = nginx group = nginx listen = 127.0.0.1:9000 listen.owner = nginx listen.group = nginx listen.mode = 0660 pm = dynamic pm.max_children = 5 pm.start_servers = 2 pm.min_spare_servers = 1 pm.max_spare_servers = 3
試したこと
try_fileディレクティブを記載。
パーマリンクの設定変更→保存
パーマリンクは数字ベースです。
下記のlocation内にtry_files ディレクティブを記載 location / { root /Users/username/works/www; index index.html index.htm index.php; #パーマリンクのため try_files $uri $uri/ index.php?q=$uri; } →file not foundとなる・・・
下記エラー追記 : Fastcgiが機能していないのが原因かもしれない。
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream ps auxすると下記となる。 --nodaemonizeなのが原因なのか? username 27243 0.0 0.0 4535556 952 ?? S 3:42PM 0:00.45 /usr/local/opt/php/sbin/php-fpm --nodaemonize username 27242 0.0 0.0 4513156 972 ?? S 3:42PM 0:00.96 /usr/local/opt/php/sbin/php-fpm --nodaemonize username 27241 0.0 0.0 4497836 3200 ?? S 3:42PM 0:00.19 /usr/local/opt/php/sbin/php-fpm --nodaemonize
数字ベースにすると404エラーとなっている。
usr/local/var/log/nginx/error.log
2019/11/06 17:37:03 [error] 27841#0: *7911 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 127.0.0.1, server: localhost, request: "GET /wordpress/archives/623 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost", referrer: "http://localhost/wordpress/"
開発環境
macos catalina/10.15
homebrew
Wordpress/5.2.4
PHP/7.3.10
nginx/1.17.3
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。