проблема с .htaccess RewriteRule здесь

#apache #.htaccess #mod-rewrite

#apache #.htaccess #мод-перезапись

Вопрос:

Хорошо, итак, я использую этот код в файле .htaccess. Это единственный код там, но, похоже, он вообще не работает, и я знаю, что у меня установлен и включен mod_rewrite.

 RewriteEngine On
RewriteRule ^news.js news.php [NC]
  

также пробовали это:

 RewriteEngine On
RewriteRule news.js news.php [NC]
  

Хорошо, итак, я использую news.php для вывода JS-скрипта, на который я ссылаюсь в другом месте. Итак, я хочу, чтобы все ссылки на news.js (и все ссылки с текстом после этого), чтобы указать на news.php вместо этого. И так news.php выводит Javascript для этого, но является файлом PHP…

Правильно ли я настраиваю файл PHP?

 <?php

// If there is a php error for any reason...hide it!
ini_set('display_errors', 'Off');

// Set the header-type.
header('Content-type: application/x-javascript');

// And it calls some functions in here

?>
  

Проблема в том, что он не работает. Кто-нибудь, пожалуйста, может мне помочь? Мой файл .htaccess настроен неправильно?

Спасибо за любую помощь, которую вы можете мне предложить.

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

1. это не работает , требуется дополнительное объяснение. Что происходит, когда вы открываете news.js в браузере? Вы получаете ошибку 404?

2. Ошибки нет, я ничего не получаю. Код javascript работает, поэтому я не понимаю, почему он не работает. Если я свяжу вызов с news.php вместо файла он работает идеально, но ссылка на news.js вообще не работает.

3. @Solo: Я имею в виду, жалуется ли Apache на то, что он не может найти файл, когда вы вводите http://url/to/news.js в адресной строке браузера, или он отправляет ожидаемый контент javascript?

4. Попробуйте сами. URL-адрес такой: news.dream-portal.net/news.js и он отлично отображает содержимое в виде файла сценария, но где-то что-то упущено, потому что по какой-то причине он не работает, когда я использую его в файле.

5. @solo: все выглядит нормально, вероятно, в конфигурации Apache или вашем коде нет ничего неправильного. Одна вещь: на странице, где вы включаете news.js или news.php , вы также включаете другие файлы javascript? Например, тот, который определяет функции setDPNews / setDPVersion?

Ответ №1:

включен ли у вас AllowOverride для работы вашего .htaccess? http://www.blackbeagle.com/web-hosting/apache-mod_rewrite-and-allowoverride /

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

1. Поэтому, если я использую Options FollowSymlinks , это тоже не сработает.