Перенаправление .htaccess и переменные? - PullRequest
0 голосов
/ 22 июля 2010

РЕДАКТИРОВАТЬ: Проблемы с кодом ниже

Хорошо, я получаю страницу с надписью «Страница перенаправляется неправильно». Это если кто-то пытается получить доступ к /files/protected/file.jpg. Я пытаюсь перенаправить его в /myfiles/file.jpg, но вместо этого я получаю эту ошибку ...

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteBase /myfiles/
  RewriteRule ^(.*)$ $1 [L,R=301]
</IfModule>

По сути, я пытаюсь выяснить, как добавить условие перезаписи, которое сохранит часть пути. Если пользователь пытается, например, получить доступ к файлу в каталоге, он перенаправляет на другой URL с этим именем файла в качестве параметра.

Итак, если пользователь посещает: mysite.com/protected/file.pdf, он будет перенаправлен на mysite.com/okay/file.pdf

.

Это то, для чего я могу использовать .htaccess?

Ответы [ 2 ]

2 голосов
/ 22 июля 2010

Вам нужно поместить ваш .htaccess файл в корень вашего сайта.Затем, если вы хотите внешнего перенаправления, оно должно содержать следующее:

RewriteEngine On

RewriteRule ^files/protected/(.*)$ myfiles/$1 [R=301,L]

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

1 голос
/ 22 июля 2010

http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

Вам нужна часть о обратных ссылках RewriteRule с группами регулярных выражений, на которые ссылается $ N.

Для вашего примера, я думаю, это то, что вы намеревались:

RewriteRule ^(mysite\.com/)protected(/.*) $1okay$2
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...