#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. Большое спасибо, я буду держать вас в курсе.