Как заставить mod_rewrite перенаправлять внутренне

#apache #.htaccess #mod-rewrite

#apache #.htaccess #mod-перезапись

Вопрос:

Я искал со вчерашнего дня, чтобы найти решение моей проблемы.

Это мой текущий .htacces файл:

 RewriteEngine On    # Turn on the rewriting engine
RewriteRule    ^l/(w )/?$    sites/$1    [L]    # Handle shortlink
  

Я хотел http://drop2upload.danschalow.com/l/58032bf6b1917/ бы указать на http://drop2upload.danschalow.com/sites/58032bf6b1917/ .

Теперь, если вы нажмете на http://drop2upload.danschalow.com/l/58032bf6b1917 / вы обнаружите, что вам возвращена страница. Однако вы получаете a 301 Moved Permanently , что означает, что пользователь «видит», что он был перенаправлен.

Как мне перенаправить пользователя внутренне, без его ведома.

Приветствия, Дэн

Комментарии:

1. Приведенное выше правило не отправляет http-статус 301. Для этого должна быть какая-то другая причина. Может быть, внутренний механизм какого-либо приложения, с которым вы работаете по этому URL?

2. Спасибо за ваш ответ. Я совершенно новичок mod_rewrite и определенно ничего не настраивал внутренне. Возможно ли, что мой хостинг-провайдер мог предопределить?

3. Я не понимаю, как это было бы возможно.

4. Да, действительно, здесь то же самое. Хотя понятия не имею. Это правило перезаписи выполняется при внутреннем перенаправлении. Пожалуйста, загляните в файлы журналов ваших http-серверов. Во-первых, очевидно, в журнал ошибок, который всегда стоит посмотреть. Но что более важно: настройте свой сервер htttp, чтобы повысить уровень ведения журнала для перенаправлений, настройте файл журнала перенаправления и отслеживайте это. Это позволяет глубоко понять, что именно происходит внутри вашего механизма перезаписи. В документации объясняется, как это сделать: httpd.apache.org/docs/current/mod/mod_rewrite.html#logging

5. Большое спасибо, я буду держать вас в курсе.