Я новичок в nginx и обнаружил, что .htaccess не работает в нем. Поэтому я попробовал конвертер htaccess в nginx conf.
Это код htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
RewriteRule ^([a-zA-Z0-9\-\_]+)$ index.php?profile=$1 [NC]
# Return 404 if original request is .php
RewriteCond %{THE_REQUEST} "^[^ ]* .*?\.php[? ].*$"
RewriteRule .* - [L,R=404]
ErrorDocument 404 http://localhost/folder/404
Код Nginx conf
# nginx configuration
error_page 404 http://localhost/folder/404;
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /$1.php;
}
rewrite ^/([a-zA-Z0-9\-\_]+)$ /index.php?profile=$1;
}
Кажется, все работает нормально, но эта строка не работает
rewrite ^/([a-zA-Z0-9\-\_]+)$ /index.php?profile=$1;
Это для чистого URL, но он всегда показывает 404 для этого. Любые гуру nginx, которые могут мне помочь!