[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: nginx обрубить .php в url
VELIK505
location / {
rewrite ^/(\w+)$ /$1.php;
}


убирает .php но допустим если переходишь по mysite.com/katalog.php то нет редиректа на mysite.com/katalog как сделать склейку?
Игорь_Vasinsky
в логи не кидает ничего после попытки такого реврайта?

может вместо rewrite использовать try_files

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
VELIK505
не ничего не кидает.
Guest
Вроде бы что-то такое должно работать:
if ($request_uri ~ "\.php") { 
rewrite ^/(.+)\.php$ /$1 permanent;
}
Oyeme
try_files $uri.php $uri $uri/ =404;
VELIK505
Цитата (Guest @ 12.05.2016 - 11:20)
Вроде бы что-то такое должно работать:
if ($request_uri ~ "\.php") { 
    rewrite ^/(.+)\.php$ / permanent;
}

location / {
rewrite ^/(\w+)$ /$1.php;
}

if ($request_uri ~ "\.php") {
rewrite ^/(.+)\.php$ /$1 permanent;
}

работает только вот такое дело допустим:
http://mysite.com/plag/login_reg/ajax_log_reg.php что http://mysite.com/plag/login_reg/ajax_log_reg - выдаёт 404ую все файлы php которые выше корня находяться выдают 404ую
Guest
Конфиг найденный на http://stackoverflow.com/a/21911610/1007620 + редирект:

location / {
try_files $uri $uri.html $uri/ @extensionless-php;
index index.html index.htm index.php;
}

location ~ \.php$ {
try_files $uri =404;
}

location @extensionless-php {
rewrite ^(.*)$ $1.php last;
}

if ($request_uri ~ "\.php") {
rewrite ^/(.+)\.php$ /$1 permanent;
}
VELIK505
Вот так запахало:
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /$1.php;
}
}

if ($request_uri ~ "\.php") {
rewrite ^/(.+)\.php$ /$1 permanent;
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.