LINUX.ORG.RU

mod_rewrite, xml -> php

 , ,


0

1

Добрый вечер.

То ли лыжи не едут, то ли я не знаю. В .htaccess имеется такая строка:

RewriteRule ^file.xml$ dir/file.php [L]

Но, почему-то не срабатывает, и так для любого .xml. Меняю на:

RewriteRule ^file.xmls$ dir/file.php [L]

Все замечательно работает по адресу /file.xmls
Подскажите, почему так? Обшарил гугл - ничего не помогло. И заголовки менял в php и строку по-разному писал - безрезультатно. На другом сервере все работает. Что это за пунктик такой у апача и как его усмирить?

★★

Последнее исправление: emissar (всего исправлений: 1)

давай сюда .htaccess (можно минимальный, но _тестированный_ с проблемой) и пример урла.

AndreyKl ★★★★★
()
Ответ на: комментарий от tazhate

Там что-то нету ничего похожего:

/etc/apache2/conf.d$ ls
apache2-doc  javascript-common.conf  phpmyadmin.conf
charset      localized-error-pages   security

emissar ★★
() автор топика
Ответ на: комментарий от AndreyKl

Да уже облазил все там. Есть упоминания, да, но они идентичны тем, которые у меня на локалке, где все работает (дефолт).

emissar ★★
() автор топика
Ответ на: комментарий от emissar

ну и да, ты знаешь, у меня твой конфиг прекрасно работает.


$ curl 'http://andrey/file.xml'
hi


$ cat ~/public_html/dir/file.php
<?php
echo 'hi';
?>

$ cat ~/public_html/.htaccess
#DirectoryIndex index.php
RewriteEngine On
RewriteBase /
RewriteRule ^file.xml$ dir/file.php [L]

AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

В том то и дело, что у меня на локалке и другом серваке он тоже работает.

может у тебя существует файл file.xml?

Нет. Да и с любым именем файла с расширением xml такая беда. Хоть (.*).xml.

emissar ★★
() автор топика
Последнее исправление: emissar (всего исправлений: 1)
Ответ на: комментарий от kam

Пробовал. Кучу вариантов уже. Дело явно не в написании, ведь с другим расширением все работает.

emissar ★★
() автор топика
Ответ на: комментарий от emissar

Да, выше писал же.

ступил. вроде видел это, но поглядел исходное сообщение - не нашёл и решил что показалось.

AndreyKl ★★★★★
()
Ответ на: комментарий от Tark

Да, в точку. Спасибо за подсказку. Удалил «xml» из конфига сайта nginx - все заработало. Всем спасибо за помощь.

emissar ★★
() автор топика
Ответ на: комментарий от emissar

если это один и тот же дистрибутив, давай попробуем сделать дифф между настройками с рабочего сервера и с нерабочего

1. скопируй конфиги с рабочего на нерабочий (или наоборот)
2. diff /etc/apache ~/another_apache_conf

вывод в студию.

так же давай в студию логи запроса своего (проверь и еррор и аксесс).

так же можно ппробовать заставить его писать логи, може чего увидим ещё.

<IfModule mod_rewrite.c>
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3
</IfModule>
AndreyKl ★★★★★
()
Ответ на: комментарий от AndreyKl

Я в серверной части не особо соображаю просто, не подумал, что если файлы определенного типа через nginx отдаются, то они так огорожены от апача. Поэтому сразу не посчитал важной данную информацию. Спасибо, что откликнулись.

emissar ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.