Как я могу перенаправить людей, обращающихся к моим файлам, в качестве каталогов? - PullRequest
0 голосов
/ 14 сентября 2011

У меня следующая ситуация:

На моем веб-сервере у меня запущен экземпляр websvn, где определенные репозитории и ревизии могут быть доступны по URL-адресу, например

http://www.myhost.com/listing.php?repname=repository1&path=%2Ftrunk%2Fbackend

Каким-то образом, там, в дикой природе, используется неверный URL для доступа к этому

http://www.myhost.com/listing.php/?repname=repository1&path=%2Ftrunk%2Fbackend

(обратите внимание на косую черту после перечисления .php)

Теперь, несмотря на то, что URL работает, а websvn по-прежнему показывает веб-страницу, изображения и таблицы стилей загружаются неправильно, так как на них ссылаются относительно.

Я попытался добавить файл .htaccess в webroot, чтобы перенаправить людей, обращающихся кфайл в качестве каталога с правильным URL-адресом.

Я пробовал несколько вариантов и в итоге получил этот файл:

RewriteEngine on
RewriteRule ^/listing.php/ listing.php [R=301,QSA]

Но, поскольку я пишу здесь, вы уже догадались: он нене работает.

Я также пытался

RewriteEngine on
RewriteRule ^/listing.php(.*) listing.php$1 [R=301,QSA]

Что я делаю не так?

1 Ответ

1 голос
/ 14 сентября 2011

Возможно, между прочим, RewriteRule в .htaccess, начинающемся с «^/», вообще никогда ничего не будет совпадать.(Примеры, которые включают начальную косую черту, относятся к файлу глобальной конфигурации.) Удалите переднюю косую черту и посмотрите, помогает ли это.

Кроме того, я рекомендую изменить 301 на 307, пока он не заработает.В противном случае ваш браузер будет кешировать результат 301, перенаправляя на последующие ссылки, вообще не обращаясь к вашему серверу, и, вероятно, даст вам очень запутанные результаты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...