이 매우 간단한 .htaccess를 Nginx로 변환하는 방법은 무엇입니까?
May 20 2019
.htaccessURL 다음에 모든 것을 전달 하는 이것을 사용 $param하고 있으므로
example.com/news/idPHP로 $_GET['param']='news/id'. 그러나 Nginx는 항상 나를 404 페이지로 던지고 있습니다.
내 .htaccess:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule (.*) index.php?param=$1
내가 Nginx에서 시도한 것 default.conf:
server {
listen 80;
listen [::]:80;
server_name domain.com;
root /var/www/html;
location / {
if (!-f $uri){
set $rule_0 1$rule_0;
}
if (!-d $uri){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^(.*) index.php?param=$1;
}
}
}
답변
1 SandroBenevides May 21 2019 at 01:15
다음 규칙을 사용하여 수정할 수 있습니다.
server{
try_files $uri $uri/ @rewrite;
location @rewrite {
rewrite ^/(.*)$ /index.php?_url=$1;
}
}
내부 지침이없는 위치 / {}가있는 경우 제거합니다.