Перенаправление запроса Apache .js на запрос PHP

#php #javascript #apache #mod-rewrite

#php #javascript #apache #модификация-перезапись

Вопрос:

Я пытаюсь отправить ответ JavaScript из запроса JavaScript с использованием PHP.

Предполагая, что запрос встроен в исходный код HTML как

 <script type="text/javascript" src="http://www.mydomain.com/generatejs.js" charset="UTF-8"></script>
  

И у меня есть PHP-скрипт, который называется generatejs.js.php который выводит больше кода JavaScript

Условием / правилом перезаписи Apache являются

 RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([^.] )$ $1.php [NC,L]
  

Но я получаю 404 при попытке доступа http://www.mydomain.com/generatejs.js. Может ли кто-нибудь, пожалуйста, помочь мне с недостающим битом? 🙂

Комментарии:

1. Вы могли бы просто напрямую ссылаться на PHP-файл. <script src=»file.php «> стиль.

Ответ №1:

Вы это имеете в виду?

 RewriteEngine on
RewriteRule ^generatejs.js$ generatejs.js.php
  

Комментарии:

1. Спасибо, я выбрал общее решение.

Ответ №2:

Ваш запрос RewriteRule не соответствует /generatejs.js из-за [^.] (который является чем угодно, НО НЕ . ), поэтому, если вы обновите его до следующего, вам повезет больше:

 RewriteRule ^([^.] ).js$ $1.js.php [NC,L]
  

Надеюсь, это поможет.

Ответ №3:

 RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^(. ).js$ $1.js.php [NC,L]
  

Теперь каждый smth.js файл перенаправляется на smth.js.php