Nano Hash - криптовалюты, майнинг, программирование

mod_rewrite не работает в верхнем каталоге, но работает в подкаталогах

Раньше я без проблем использовал mod_rewrite (экономно) в нескольких каталогах, поместив файл .htaccess для этого каталога, и теперь он там работает. Но когда я пытаюсь использовать его в своем каталоге верхнего уровня, ничего не происходит!?!?! Но этот файл .htaccess (первый уровень) в остальном работает нормально. У меня есть Redirect 301 и множество других вещей, но mod_rewrite не включен. Я использую Apache 2.0.63 с загруженными mod_rewrite и mod_proxy.

В качестве тестового примера я создал следующие 4 файла (fileA,html, fileB.html, fileC.html, fileD.html) и поместил их в каталог /test. Каждый файл содержит соответствующие буквы (например, AAAA, BBBB), поэтому я могу их точно идентифицировать. В каталоге /test я создал файл .htaccess с

Redirect 301 /test/fileA.html http://www.xyz.com/test/fileB.html
RewriteEngine on
RewriteRule ^fileC\.html$ fileD.html

и все работает так, как ожидалось: вы можете видеть только fileB.html и fileD.html даже при запросе A или C.

Затем я скопировал эти файлы в корневой каталог html и добавил туда в .htaccess:

Options +FollowSymLinks (this was already there)
Redirect 301 /fileA.html http://www.xyz.com/fileB.html
RewriteEngine on
RewriteRule ^fileC\.html$ fileD.html

Других команд для этих файлов в .htaccess нет. Теперь вы можете видеть файл B.html и файл D.html, а также файл C.html, а не файл A.html!!! Таким образом, правило mod_rewrite здесь НЕ РАБОТАЕТ, а перенаправление работает.

Я тщетно искал в сети идеи по этому поводу. Кто-нибудь знает, что я делаю неправильно?

22.08.2010

  • Вы уверены, что это не проблема кэширования, когда ваш браузер просто показывает вам версию файла C.html, которую он кэшировал, и вообще не проверяет сервер? 22.08.2010
  • Да, я очистил кеш и перепрошил, чтобы убедиться. 23.08.2010
  • Вы говорите, что в .htaccess нет других команд для этих файлов, но значит ли это, что там на самом деле есть другие директивы? Или это действительно то, что вы показали? 23.08.2010
  • Оказывается, у меня все еще были активны еще несколько mod_rewrite для других URL-адресов (на самом деле URL-адресов, которые я хотел), которые, похоже, вызвали проблему. Смотрите мой ответ ниже. И спасибо, что подтолкнул меня в правильном направлении. 24.08.2010

Ответы:


1

Похоже, проблема, по крайней мере, в моем тестовом случае, была как-то дальше в файле .htaccess. У меня был RewriteEngine на RewriteCond %{HTTP_USER_AGENT} !FeedBurner, за которым следовали некоторые RewriteRules, которые я действительно хотел, и RewriteEngine выключен - последнее мои ошибочные (?) попытки очистить RewriteCond, чтобы не повлиять на возможные будущие RewriteRules. Также я вижу, что у меня изначально была проблема с некоторыми из них, поскольку я включал начальный «/» в сопоставление с образцом, что, по-видимому, неверно.

Я прокомментировал все это, и мой тестовый пример и то, что я действительно хотел, начали работать, как и ожидалось. Игра с тех пор заставляет меня поверить, что RewriteEngine был настоящим виновником. Во всяком случае, теперь все работает так, как ожидалось. Спасибо, что подтолкнули меня в правильном направлении, и, надеюсь, это поможет кому-то еще.

23.08.2010
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..