webew
Войти » Регистрация
 
Linux

Как отключить преобразование /file/ -> file.php

4 февраля 2013, 22:14
Автор: platedz
Уважаемые специалисты, подскажите, пожалуйста.
При обращении к адресу сайта навроде http://site.ru/file/ происходит обращение к http://site.ru/file.php Я так понял, все дело в настройке сервера. Но так и не понял в каких именно. У меня связка apache + Nginx
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
NO USERPIC

rgbeast

Посмотрите в настройках апача и в .htaccess какие заданы правила редиректа.
04.02.2013, 22:35
Ответить
NO USERPIC

platedz

я пробовал удалить все инструкции и даже отключить обработку Htaccess, но преобразование все равно выполняется.
04.02.2013, 22:40
Ответить
NO USERPIC

rgbeast

Попробуйте
lwp-request -m GET -sed site.ru/file/

и посмотрите от какого сервера (apache или nginx) пришел редирект.
04.02.2013, 22:47
Ответить
NO USERPIC

platedz

Может я что-то не очень понял, но сделал то, что ВЫ написали в консоли. Про apache ни слова

Про Nginx вернуло

Server: nginx/1.1.19
04.02.2013, 23:05
Ответить
NO USERPIC

rgbeast

А полностью как выглядит ответ? И попробуйте еще -sedS чтобы увидеть всю цепочку, включая ответ после редиректа.

Вероятно нужно проверять настройки редиректа в nginx.
04.02.2013, 23:09
Ответить
NO USERPIC

platedz

Полностью так

root@user:~# lwp-request -m GET -sedS http://site.ru/file/
GET http://site.ru/file/
200 OK
Cache-Control: no-cache, must-revalidate
Connection: close
Date: Mon, 04 Feb 2013 22:55:10 GMT
Pragma: no-cache
Server: nginx/1.1.19
Vary: Accept-Encoding
Content-Type: text/html
Expires: Mon, 15 apr 2009 05:00:00 GMT
Last-Modified: Mon, 04 Feb 2013 22:55:10 GMT
Client-Date: Mon, 04 Feb 2013 22:55:11 GMT
Client-Peer: 151.248.116.216:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

Set-Cookie: PHPSESSID=oa618rkttjga1t5ljtg6caea74; path=/
Title: -------. ------. -----. --------. - ------- ------ ------- - ------------- ------
X-Meta-Author: PolyRec Enterprises DesignStudio
X-Meta-Copyright: Copyright, PolyRec Enterprises DesignStudio. All rights reserved
X-Meta-Description: ------- ------ -------. ------ ----------. ------, -----------, ------.
X-Meta-Keywords: -------, ------, -----, --------, ---------, --------
X-Meta-Revisit-After: 7 days
X-Meta-Robots: index, follow
X-Powered-By: PHP/5.3.10-1ubuntu3.4
X-UA-Compatible: IE=EmulateIE7


root@user:~# lwp-request -m GET -sed http://site.ru/file/
200 OK
Cache-Control: no-cache, must-revalidate
Connection: close
Date: Mon, 04 Feb 2013 22:57:13 GMT
Pragma: no-cache
Server: nginx/1.1.19
Vary: Accept-Encoding
Content-Type: text/html
Expires: Mon, 15 apr 2009 05:00:00 GMT
Last-Modified: Mon, 04 Feb 2013 22:57:13 GMT
Client-Date: Mon, 04 Feb 2013 22:57:13 GMT
Client-Peer: 151.248.116.216:80
Client-Response-Num: 1
Client-Transfer-Encoding: chunked

Set-Cookie: PHPSESSID=a928qklkri67lnfq4m0qtm5767; path=/
Title: -------. ------. -----. --------. - ------- ------ ------- - ------------- ------
X-Meta-Author: PolyRec Enterprises DesignStudio
X-Meta-Copyright: Copyright, PolyRec Enterprises DesignStudio. All rights reserved
X-Meta-Description: ------- ------ -------. ------ ----------. ------, -----------, ------.
X-Meta-Keywords: -------, ------, -----, --------, ---------, --------
X-Meta-Revisit-After: 7 days
X-Meta-Robots: index, follow
X-Powered-By: PHP/5.3.10-1ubuntu3.4
X-UA-Compatible: IE=EmulateIE7
04.02.2013, 23:25
Ответить
NO USERPIC

rgbeast

Возможно, где-то в настройках апача у вас настроен mod_rewrite. Что-то вроде описанных здесь http://serverfault.com/questions/297420/apache-mod-rewrite-remove-extension-add-trailing-slash-preserve-directory-stru
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php -f
RewriteRule ^([^/]+)/$ $1.php


Проверьте все конфигурационные файлы апача.
04.02.2013, 23:37
Ответить
NO USERPIC

platedz

Большое спасибо за ответы. Но если бы дело было в mod_rewrite, то я думаю, что правила в .htaccess которое должно читаться последним, сработало бы. т.е. я делаю RewriteRule ^file/$ file2.php, а выводит содержимое file.php.
также замечу что и /file/ и /file.php/ выводит file.php. Где-то я читал, что это может быть связано с mod_dir, но т.к. решения там не нашел, то сейчас уже сложно будет найти. Хотя может и не при чем он.
05.02.2013, 00:05
Ответить
NO USERPIC

rgbeast

RewriteRule применяются в порядке следования. То есть, когда он последним считывает ваш .htaccess, может быть адрес уже переписан. Попробуйте включить RewriteLog, чтобы посмотреть что и как переписывается в апаче ( http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritelog ). Также проверьте редиректы в конфигах nginx.

"/file.php/ выводит file.php" - такое поведение в апаче по умолчанию, но это не то, что вы описали как проблему.
05.02.2013, 00:24
Ответить
NO USERPIC

platedz

Спасибо за ответ. В логах я к сожалению ничего не заметил.
05.02.2013, 01:37
Ответить
NO USERPIC

platedz

Спасибо за ответ. Оказывается все дело в MultiViews
05.02.2013, 02:13
Ответить
NO USERPIC

medicalcomp

Здравствуйте. Подскажите пожалуйста. Возникла похожая проблема. Только теперь если директория существует то редирект в файле .htaccess не выполняется
Т.е. например
RewriteRule ^news/$ news.php [L]
не выполняется если есть папка news, папки нет, нет и проблем.
Может где-то в настройках apache проблема.
Помогите, решить, пожалуйста.
19.01.2016, 14:29
Ответить

1234ru

А в самой папке news своего файла .htaccess случайно нет?
То, что не убивает нас, делает нас инвалидами.
20.01.2016, 12:33
Ответить
NO USERPIC

rgbeast

Приведите полный .htaccess. Нет ли там условия редиректа RewriteCond?
21.01.2016, 13:01
Ответить
NO USERPIC

medicalcomp

Там инструкция
RemoveHandler .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
AddType application/x-httpd-php-source .phtml .php .php3 .php4 .php5 .php6 .phps .cgi .exe .pl .asp .aspx .shtml .shtm .fcgi .fpl .jsp .htm .html .wml
Но дело в том, что он вообще не должен на эту папку ссылаться, так как в предыдущей папке стоит правило RewriteRule ^news/$ news.php [L]
.
20.01.2016, 17:51
Ответить

1234ru

.htaccess из текущей папки имеет более высокий приоритет, чем из родительской.
С другой стороны, реврайтов я здесь нв вижу...
То, что не убивает нас, делает нас инвалидами.
21.01.2016, 08:32
Ответить
Добавить комментарий
Отображение комментариев: Древовидное | Плоское
© 2008—2017 webew.ru, связаться: x собака webew.ru
Сайт использует Flede и соответствует стандартам WAI-WCAG 1.0 на уровне A.
Rambler's Top100

Реклама: