Tôi đang sử dụng Drupal 7.x. Tôi đã đạt được để làm cho nó hoạt động mà không cần URL sạch.
Điều tra, tôi đã hiểu rằng tôi nên tạo một vhost cho mỗi trang web drupal và kích hoạt các URL sạch với mã sau đây.
if (-e $ REQUEST_FILENAME) {
rewrite ^ / (. *) $ / index.php? q = $ 1 last;
}
Ngoài ra, tôi có thể sử dụng mã này.
location / {
[... ]
error_page 404 = @ drupal;
[... ]
}
location @ drupal {
rewrite ^ (. *) $ / index.php? q = $ 1 last;
}
Tuy nhiên, tôi cũng thấy rằng không cần tạo vhost có thể kích hoạt các URL sạch (như Apache). Tôi đã thử trên cả hai dòng trong thiết lập của mình nhưng tôi không nhận được kết quả. Khi tôi bật URL sạch, nó luôn hiển thị từ Nginx (Localhost).
Cách đúng để kích hoạt URL sạch là gì?
Đây là cấu hình của tôi trong / etc / nginx / site-Available / default.
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default ipv6only=on; ## listen for ipv6
root /usr/share/nginx/www;
index index.php index.html index.htm;
# Make site accessible from http://localhost/
server_name localhost;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to index.html
try_files $uri $uri/ /index.html;
# Uncomment to enable naxsi on this location
# include /etc/nginx/naxsi.rules
}
location /doc/ {
alias /usr/share/doc/;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /images {
root /usr/share;
autoindex off;
}
# Only for nginx-naxsi : process denied requests
#location /RequestDenied {
# For example, return an error code
#return 418;
#}
#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 /usr/share/nginx/www;
}
#Pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
try_files $uri =404;
#fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/tmp/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
location ~ /\.ht {
deny all;
}
}
Tôi chưa tạo bất kỳ vhost nào trên máy chủ của mình; tôi cũng không biết làm thế nào
1
Bạn đã thấy / đã thử những điều sau đây, từ các tài liệu Drupal chưa? drupal.org/node/976392
—
ge Muffguy
@ge Muffguy Có. Phần mã này tôi đã thêm vào tệp mặc định của mình trong trang web có sẵn và khi tôi vào trang web của mình, tôi gặp lỗi 500. Hoặc tôi cần tạo một vhost?
—
Eduardo
Hãy xem github.com/perusio/drupal-with-nginx . Nó có tất cả các tùy chọn cấu hình mà bạn có thể cần để Drupal chạy trên máy chủ Nginx.
—
jamestsymp