Использование «.html» для ссылки на файл .html.php - что за магия? - PullRequest
0 голосов
/ 13 июля 2009

Это больше вопрос любопытства.

Итак, я читал главу из ( последней книги Sitepoint по PHP / MySQL ), в которой автор упомянул об использовании расширения ".html.php" для обозначения файлов, которые имеют как HTML, так и PHP. Я попробовал это, и обнаружил это:

Если у меня есть файл «fileA.html.php», и где-то в «fileB.html» у меня есть ссылка таким образом:

<a href="fileA.html">Text text</a>

Я могу напрямую связать файл file..html.php, правильно проанализировав его, хотя логика и книга говорят мне, что я должен был написать href="fileA.html.php".

Кто-нибудь имеет представление о том, что делает функция PHP, или это просто стандартное поведение PHP? (Не то чтобы я жалуюсь, это то, что мой клиент заметил и подумал, что это круто.)

Ответы [ 5 ]

5 голосов
/ 13 июля 2009

PHP не является причиной. Apache, вероятно, имеет включенный mod_spelling и выполняет автоматическое исправление ссылки. Такое поведение не будет согласованным между серверами с различными конфигурациями.

3 голосов
/ 13 июля 2009

Для этого вам нужно настроить свой сервер. Если вы используете Apache, есть множество способов сделать это с помощью правил перезаписи htaccess или других процессоров.

Но если вы собираетесь пойти на это, зачем вообще нужен HTML? Я бы сказал, либо обслуживать файл с соответствующим типом расширения (в данном случае просто .php), либо сделать его без расширения или с расширением необязательным. Единственная причина сделать это - сделать это проще для ваших пользователей. В противном случае нет смысла менять расширение.

0 голосов
/ 13 июля 2009

Вы также можете добавить на свой httpd.conf

AddType application/x-httpd-php php
AddType application/x-httpd-php html

Все ваши файлы .html теперь могут анализироваться внутри.

Что мне кажется круче.

НТН

0 голосов
/ 13 июля 2009

Я обычно помещаю это в файл .htaccess:

<Files *.html>
AddHandler application/x-httpd-php .html .htm .php
</Files>

Это означает, что файлы .html обрабатываются как файлы .php, по сути.

0 голосов
/ 13 июля 2009

Я никогда не слышал о таком поведении. Единственное, что приходит на ум - это какой-то мод переписывания htaccess

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...