2009-07-13 3 views
0

Это скорее вопрос любопытства.Использование «.html» для ссылки на файл .html.php - что такое магия?

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

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

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

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

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

ответ

3

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

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

+2

+1 для рулевого управления по отношению к языковым агностикам. curagea, вы можете указать «fileA /» и поместить index.php в каталог, и большинство веб-серверов (насколько мне известно) будут автоматически служить «fileA/index.php». Если вы когда-либо переходите на .html или .any, вам не нужно менять URL. – l0b0

+0

Это был мой .htaccess. Я на самом деле не писал его, поэтому я не знал о строке «Приложение AddHandler/x-httpd-php .htm .php». Я только добавил .html, чтобы я мог сказать, что есть также HTML-код в моих PHP-файлах (если это применимо). Что касается трюка index.php, я знаю об этом, но я использую его только в ограниченных количествах, потому что это довольно простой, небольшой сайт. – curagea

0

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

5

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

-1

Я обычно положить это в файле .htaccess:

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

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

0

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

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

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

Который я думаю, кулер.

HTH