2015-02-23 3 views
1

Я хочу перенаправить все запросы файла фида (*. Xml) в скрипт php, который отрегулирует URL-адрес запроса и затем выдает результат. В настоящее время у меня есть скрипт, который делает это, но заканчивается бесконечным циклом перенаправления. Я понимаю, что Apache будет запрашивать скорректированный файл снова и снова, если у меня не будет условия для его остановки, поэтому я добавил условие к файлу .htaccess, чтобы обрабатывать файл только в том случае, если он возник из root. Я думал, что эта концепция была хорошей, но все же была та же ошибка. Последняя часть скрипта следующим образом: ...Перенаправление фидов в другой каталог с использованием .htaccess и mod_rewrite

$fileUrl = $row['file_url'] . $feedFile; 
} 

header('Location: ' . $fileUrl); 
header('Content-type: text/xml'); 
header('Content-length: ' . filesize($fileUrl)); 
header('Content-Disposition: filename= '.$fileUrl); 
header('X-Pad: avoid browser bug'); 
header('Cache-Control: no-cache'); 
readfile($fileUrl); 

>

.htaccess файл выглядит следующим образом: Options + FollowSymlinks

RewriteEngine On 
    RewriteBase/
    #Only process .xml requests if they are from root 
    RewriteCond %{REQUEST_URI} ^/$ 
    RewriteRule ([a-zA-Z0-9]+\.xml$) checkForAuth.php?file=$1 [QSA] 

Я получаю следующее сообщение об ошибке с использованием castfeedvalidator:

Предупреждение: копия (http://www.example.com/SFAPremium.xml?name=ejleeson) [function.copy]: не удалось открыть поток: Перенаправление lim он достиг, отбрасывание в /home/podcasts/public_html/castfeedvalidator/ajax/validate.php на линии 243

Спасибо, Dion

+0

Какой URL-адрес вы вводите в браузере? – anubhava

+0

Этот тип - http://example.com/afeed.xml?name=aname. На самом деле, читатель канала будет запрашивать URL-адрес. – dion

ответ

1

Ваш RewriteCond выглядит не так, попробуйте это правило вместо:

RewriteEngine On 
RewriteBase/

# Only process .xml requests if they are from root 
RewriteRule ^([\w-]+)\.xml$ checkForAuth.php?file=$1 [NC,L,QSA] 
+1

Пятно на анубхаве! – dion

Смежные вопросы