.htaccess: переслать любую ссылку на /index.htm - PullRequest
0 голосов
/ 13 апреля 2010

Я бы хотел сделать следующее:

Если пользователь получает URL-адрес или вводит его, и он соответствует следующему:

  • / путь / путь / путь
  • / путь
  • / путь / путь /

Я бы хотел, чтобы htaccess перенаправил их на этот url + /index.htm, прежде чем запускать 404. Также я хотел бы игнорировать это правило для определенных путей. Вот что я пытался и не имел успеха:

RewriteCond %{REQUEST_URI} !^(admin)
RewriteCond %{REQUEST_URI} !^(node)
RewriteRule ^/(.*)/$ $1/index.htm [L]

Вот как выглядит приложение. На самом деле это подкаталог в приложении, так как сайт находится на переходном этапе.

ParentApp/
  /folder/
  /folder/
  /Drupal/
    /(new application here)
    /...
    /...

Ответы [ 2 ]

1 голос
/ 14 апреля 2010

То, как вы переписываете, выглядит так, будто вы просто пытаетесь отобразить index.htm в качестве файла индекса для каждого каталога, фактически вы никуда не перенаправляетесь. Это можно легко имитировать, используя DirectoryIndex index.htm.

Если вы пытаетесь перенаправить в корневой индексный файл, вот более простой способ сделать это:

RewriteRule !^(admin/(.*)|node/(.*)) index.htm [L]

Это правило похоже на то, что я использую для своего сайта. Убедитесь, что у вас есть RewriteEngine On.

0 голосов
/ 07 мая 2010

Решил это. Использовал неправильный символ регулярного выражения. Работает сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...