Привет, я так старался сделать следующее на htaccess, но он, похоже, не работает.
может кто-то там помочь мне?
AddType application/x-httpd-php .js
Я попробовал версию php4, php5, все, что мог найти в Google, но мне не повезло.
что я пропустил?
в файле file.js
следующие …
<?php $(document).ready();//jquery/javascript ?>
Я ожидаю фатальную ошибку php, но я точно вижу это как обычный текст.
Пытаться:
<FilesMatch "\.(js)$"> AddHandler application/x-httpd-php .js </FilesMatch>
Если вы хотите сделать это, используя только конфигурацию .htaccess (кто хочет установить заголовки в каждом PHP-файле?):
<FilesMatch "\.css$"> SetHandler application/x-httpd-php Header set Content-type "text/css" </FilesMatch> <FilesMatch "\.js$"> SetHandler application/x-httpd-php Header set Content-type "application/javascript" </FilesMatch>
Если вы пытаетесь заставить PHP работать в файлах Javascript, вы можете просто переименовать Javascript в javascript_file.js.php
и заставить PHP работать внутри этого.
У вас не будет проблем, включая это на вашей странице.
`
Если я прав, ваш PHP JS-файл должен быть подан с заголовком content-type: application / x-javascript, иначе он не будет интерпретироваться как JS.
Заголовок («content-type: application / x-javascript»);
Одна из возможностей заключается в том, что вы не настроены на использование файла .htaccess.
Вы можете проверить это в своем httpd.conf.
Вы хотите, чтобы для AllowOverride
установлено значение All
например
из
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all Satisfy all </Directory>
в
<Directory /> Options FollowSymLinks AllowOverride All Order deny,allow Deny from all Satisfy all </Directory>
Я не знаю много о .htaccess, но я считаю, что часть решения вашей проблемы заключается в перемещении jQuery вне тегов php:
<?php ?> </script> $(document).ready(); <script>
ваш файл будет анализироваться как любой другой php-файл, поэтому ваш javascript будет выполняться как обычно, внутри тегов javascript.
если вы хотите включить PHP-переменные в свой javascript, просто выполните так:
<?php $time=time(); ?> <script> $( document ).ready(function(){ $("SPAN").text("<? echo $time; ?>"); }); </script> <SPAN></SPAN>
приведенный выше код вернет текущую временную метку времени внутри элемента SPAN