편집하다
nginx가 사용하지 않기 때문에 .htaccess를 편집하려고하는 잘못된 트리를 짖는 것으로 나타났습니다. 분명히해야 할 일은 내 .conf 파일을 편집하는 것입니다. 이 내용을 읽기 전에 my_app.conf는 다음과 같습니다.
upstream backend {
server unix:/u/apps/my_app/tmp/php.sock;
}
server {
listen 80 default;
root /u/apps/my_app/www;
index index.php;
access_log /u/apps/my_app/logs/access.log;
error_log /u/apps/my_app/logs/error.log;
location / {
try_files $uri $uri/ /index.php;
}
# This location block matches anything ending in .php and sends it to
# our PHP-FPM socket, defined in the upstream block above.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /u/apps/my_app/www$fastcgi_script_name;
include fastcgi_params;
}
# This location block is used to view PHP-FPM stats
location ~ ^/(php_status|php_ping)$ {
fastcgi_pass backend;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
include fastcgi_params;
allow 127.0.0.1;
deny all;
}
# This location block is used to view nginx stats
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
이제 다음과 같이 보이고 여전히 작동하지 않습니다.
upstream backend {
server unix:/u/apps/my_app/tmp/php.sock;
}
server {
listen 80 default;
root /u/apps/my_app/www;
index index.php;
access_log /u/apps/my_app/logs/access.log;
error_log /u/apps/my_app/logs/error.log;
location / {
try_files $uri $uri/ /index.php;
}
location /wordpress/ {
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~* ^.+\.(ogg|ogv|svg|svgz|eot|otf|woff|mp4|ttf|rss|atom|jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2 |doc|xls|exe|ppt|tar|mid|midi|wav|bmp|rtf)$ {
access_log off; log_not_found off; expires max;
}
# Uncomment one of the lines below for the appropriate caching plugin (if used).
#include global/wordpress-wp-super-cache.conf;
#include global/wordpress-w3-total-cache.conf;
# This location block matches anything ending in .php and sends it to
# our PHP-FPM socket, defined in the upstream block above.
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass backend;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /u/apps/my_app/www$fastcgi_script_name;
include fastcgi_params;
}
# This location block is used to view PHP-FPM stats
location ~ ^/(php_status|php_ping)$ {
fastcgi_pass backend;
fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
include fastcgi_params;
allow 127.0.0.1;
deny all;
}
# This location block is used to view nginx stats
location /nginx_status {
stub_status on;
access_log off;
allow 127.0.0.1;
deny all;
}
}
내가 뭘 잘못하고 있는지 아는 사람 있나요?
편집 종료
내 영구 링크를 기본값에서 / % postname % /로 변경했으며 이제 WordPress의 관리자 패널 내의 링크에서 404 오류-WordPress 404 페이지가 아닌 nginx 404 페이지가 표시됩니다. 이것이 왜 내 .htaccess 파일을 편집 중이거나 WordPress가 .htaccess를 다시 쓸 수 없다고 알려주는 이유를 찾고 있습니다. .htaccess 파일이 존재하지 않으며 영구 링크를 변경할 때 WordPress에서 오류가 발생하지 않습니다.
워드 프레스 폴더에 빈 .htaccess 파일을 만들어 666 권한을 부여하고 사용자 및 그룹을 www-data로 변경 한 다음 작동하지 않는 영구 링크를 변경하려고했습니다. 그런 다음 영구 링크를 변경하기 전에 다음과 같이 변경했습니다.
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
그것이 작동하지 않을 때, 다시 permalinks를 변경 RewriteBase
하기 /wordpress/
전에로 바뀌 었습니다 . 아직 아무것도 없습니다.
또한 내 사이트의 .conf 파일로 try_files $uri $uri/ /index.php;
이동하여 다음으로 변경 하여 매번 nginx와 php5-fpm을 다시 시작했습니다.
try_files $uri $uri/ /index.php?$query_string;
try_files $uri $uri/ /index.php?q=$request_uri;
try_files $uri $uri/ /index.php?$args;
nginx로 홈 서버를 실행하고 있습니다. 여기서 무슨 일이 일어나고 있는지에 대한 아이디어가 있습니까?