nginx php file rewrite url

поэтому с apache у меня есть папка:

www.domain.com/folder/folder1/index.php?word=blahblah

и я хочу, чтобы пользователи, которые обращались к www.domain.com/folder/folder1/blahblah, перенаправлялись к указанному выше URL-адресу без изменения URL-адреса.

Таким образом, у меня есть следующий .htaccess в папке/папке1 /, который отлично работает:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.+)$ index.php?word=$1

Поэтому я хочу достичь той же функциональности с nginx, и я использовал два преобразователя: http://www.anilcetin.com/convert-apache-htaccess-to- nginx/ приводит к:

if (!-f $request_filename){
    set $rule_0 1$rule_0;
}
if (!-d $request_filename){
    set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
    rewrite ^/(.+)$ /index.php?word=$1;
}

и http://winginx.com/htaccess приводит к:

 if (!-e $request_filename){ rewrite ^(.+)$ /index.php?word=$1; }

теперь, я пробовал с обоими, но не работает. Я попытался вставить их либо в

location/{
}

или в

location /folder/folder1 {
}

или в

location ~ \.php$ {
}

во всех местах я получаю ошибку 404

nginx сообщает об ошибке «первичный скрипт неизвестен при чтении заголовка ответа из восходящего потока» или «нет такого файла или каталога».

может кто-нибудь просветить меня, пожалуйста?

заранее спасибо!

5
nl ja de
rewrite ^ (. * (?! [\. JS | \ .css]) [^.] +) $ /index.php/$1 last; переписывает все игнорирование только JS и css-файлов .. Я привел сюда эту проблему.
добавлено автор Nick, источник

1 ответы

First, don't use if. If is evil -> http://wiki.nginx.org/IfIsEvil

Вы можете выполнить это, используя следующее правило перезаписи.

rewrite ^/folder/folder1/(.*)$ /folder/folder1/index.php?word=$1 last;

Поместите это правило перезаписи прямо над вами location/{} block

7
добавлено
таких работ. он имеет две проблемы: а) он не избегает проблемы с вызовом /folder/folder1/existing_file.txt. b) CSS запутан, вообще нет css
добавлено автор MIrrorMirror, источник
nginx_ru
nginx_ru
930 участник(ов)

Сообщество пользователей nginx, новости, обсуждения конфигураций, вопросы, программирование на конфигах