У меня есть установка Drupal 5.23 с использованием чистых URL с Apache и модулем mod_rewrite. Я использую файл .htaccess
для функциональности чистых URL со следующей конфигурацией:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
Я собираюсь отключить плагины локализации / интернационализации на веб-сайте, который изменит URL-адрес каждой отдельной страницы на веб-сайте с http://www.example.com/en/url-to-a-page
на http://www.example.com/url-to-a-page
(часть /en
удаляется).
Я хотел бы добавить правило mod_rewrite, чтобы дать ответ HTTP 301 Redirect для всех входящих URL-адресов с частью /en
в URL-адресе, чтобы они направлялись на правильную страницу.
Я попытался добавить следующие строки в мой файл .htaccess
выше и ниже существующих правил, но в обоих случаях при посещении страницы с /en
получен ответ HTTP 404 Not Found:
RewriteRule ^en/(.+)$ http://www.example.com/$1 [R=301]
Если я закомментирую существующие правила, мое правило работает просто отлично. Я также пытался добавить условие к правилу, но это, похоже, тоже не дало результата:
RewriteCond %{REQUEST_URI} =/en/*