この非常に単純な.htaccessをNginxに変換する方法は?
May 20 2019
私はこれ.htaccess
を使用して、URLの後のすべてをに渡す$param
のでexample.com/news/id
、PHPにとして
行きます$_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;
}
}
内部に指示のない場所/ {}がある場合は、それを削除します。