Как серверу выдать за php-скрипты такие файлы?

12
texter
На сайте с 06.01.2007
Offline
166
1460

Восстанавливал старый сайт, получил много файлов вида

news.aspx@rid=8ee61d66-d6da-4c03-969f

news.aspx@id=5ff45a45-f6cad-5c43-522e

Как заставить сервер интерпретировать их все как php файлы?

Ставлю в .htaccess

AddType application/x-httpd-php .aspx

но это работает только для файлов, чьи имена оканчиваются на .aspx, а не для примеров выше

:confused:

СКОРПИОН
На сайте с 05.01.2006
Offline
120
#1

texter, я бы, чтобы не заморачиваться, отправил бы через рерайт в .htaccess все такие файлы на один PHP-скрипт, передавая как параметр имя файла. А скрипт состоял бы из одной строки - php-инклуд файла, имя которого передано как параметр...

• Контекстные ссылки с внутренних страниц навсегда (/ru/forum/370882) • Качественные сайты для заработка на контекстной рекламе и ссылках
М
На сайте с 23.12.2008
Offline
1
#2

А отчего не переименовать файлы, добавив в ним нужное расширение? Если операционка *nix, то например так

find ./ -name '*news.aspx@*=*' -exec mv {} {}.aspx \;
alexspb
На сайте с 14.11.2005
Offline
187
#3

СКОРПИОН, решение правильное, это если не надо технологию SSI использовать (файлы без изменений).

ЗЫ И строк надо две: +кондишен )))

texter, а конечная цель какая? отдать все как есть?

texter
На сайте с 06.01.2007
Offline
166
#4

Спасибо, кто пытается помочь.

Пытаюсь сохранить людям потерянный было сайт. Выкачал оффлайн-браузером, получилось около 25 тыс. страниц. Все скачалось и работает нормально. Поставил php-инклюды, чтобы облегчить вес и дальнейшую работу с сайтом.

Теперь мне нужно, чтобы эти страницы с такими адресами обрабатывались. Ищу оптимальное решение.

alexspb, адреса страниц нужно сохранить, чтобы после смены ns у домена, сайт не отличался от прежнего.

СКОРПИОН, можно простой пример? Я пока в этом не большой спец.

Мальчик, думал над таким вариантом, но ищу что-то поизящнее.

alexspb
На сайте с 14.11.2005
Offline
187
#5

Не видя структуры файлов и функционала сайта трудно подсказать что-то конкретное.

Ясно одно, что урл должен риврайтиться.

Как вариант на news.php, а в нем разбираться исходный урл (параметр может не передаваться, работать с $_SERVER['REQUEST_URI'])

RewriteEngine on
Options +FollowSymlinks

RewriteCond %{REQUEST_URI} !^/(news.php|admin/|img/)
RewriteCond %{REQUEST_URI} !\.(js|css|txt|jpg|jpeg|gif|swf|png)$
RewriteRule ^. news.php [NC]
СКОРПИОН
На сайте с 05.01.2006
Offline
120
#6
texter:
СКОРПИОН, можно простой пример? Я пока в этом не большой спец.

texter, в принципе, alexspb уже привёл пример, каким путём идти в общем случае.

В данном конкретном случае можно сделать так:

1. В файл .htaccess следующие строки:


RewriteEngine on
RewriteRule ^(.+\.aspx@.+)$ inc.php?fn=$1

2. Файл inc.php:


<?php
$__fn = isset($_GET['fn'])?$_GET['fn']:'';
$__fn?include($__fn):'';
?>

3. Оба этих файла должны быть в корне сайта.

4. Для файлов, находящихся в корне сайта, всё будет работать. Для других - нужна минимальная доработка, основанная на знании структуры сайта и прав на запуск и подключение скриптов в папках. Но это просто...

SJ
На сайте с 16.03.2008
Offline
78
#7

Ну, и при варианте с инклудом не забыть почитать о безопасности. А то передадут в fn какой-то гадкий hax0r.zu/r57shell.php - будете долго разгребать ;)

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
V
На сайте с 25.07.2006
Offline
128
#8

removed removed

Приватный linux-администратор
texter
На сайте с 06.01.2007
Offline
166
#9

Уже сделал было решение Михаила, но потом нашел вариант более подходящий в моем случае, без реврайта. Может, кому пригодится.

Добавил в папку с файлами .htaccess со строкой

ForceType application/x-httpd-php

Это заставляет все файлы в директории исполняться как php

M
На сайте с 19.09.2007
Offline
112
#10

если вы их выкачивали офлайнВыкачивалкой - они разве содержат пых команды? разве они не стали после этого просто штмл ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий