Используйте mod_rewrite для перенаправления из папки в файл index.asp, если такой файл существует - PullRequest
0 голосов
/ 23 октября 2010

Я использую облачные сайты Rackspace в качестве веб-хостинга, и для сайта, использующего как PHP, так и ASP, они имеют забавную настройку.

В наших настройках PHP является технологией по умолчанию, поэтому сайт по умолчанию запускает Apache, пока не достигнет URL, заканчивающегося расширением .asp. Это означает, что этот URL:

www.site.com/folder/

Не загружается автоматически:

www.site.com/folder/index.asp

Может ли .htaccess сделать то же самое, скажем, с чем-то вроде этого?

RewriteCond %{REQUEST_FILENAME}index.asp -f

RewriteRule (.*/) $1index.asp [R=301,QSA]

На английском языке это означает: «Если текущий URI + index.asp является реальным файлом, перенаправьте его в этот файл». Выше не работает; я что-то не так делаю, или это просто невозможно?

Это странно, я знаю, но, как я уже сказал, это требуется для установки Rackspace.

Другие альтернативы, на которые я смотрю, включают создание файлов index.php вручную в папках с файлами index.asp, которые будут перенаправлять на файлы index.asp, но я надеюсь избежать этого, если это возможно. :)

Кстати, DirectoryIndex не работает в этой ситуации.

1 Ответ

0 голосов
/ 23 октября 2010

Я пошел дальше и добавил файлы index.php в каждую из папок, в которых был index.asp.

Файлы имеют следующий код:

<?php header("HTTP/1.1 301 Moved Permanently"); header("Location: index.asp"); exit(); ?>

Это реальное решение для нас, так как у нас мало файлов index.asp.

...