htaccess - удалить «index.php» из URL и перенаправить с исключением

0

Я прочитал много ответов на этом сайте, но не нашел рабочего примера. Поэтому я решил задать свой вопрос.

Как я могу сделать перенаправление из файла (index.php(.htm/.html/и т.д.) С исключением?

Например, у меня есть ссылка # 1: "/dir1/some-text_index.php" и ссылка # 2: /dir1/index.php. Какое правило должно быть установлено для ссылки # 1 - перенаправления не происходит, а ссылка # 2 произошла с переадресацией, то есть:

/dir1/some-text_index.php -> /dir1/some-text_index.php - nothing to do
/dir1/index.php -> /dir1/ - redirect

и еще несколько примеров:

/dir1/some-text_index.php/dir2 -> /dir1/some-text_index.php/dir2 - nothing to do
/dir1/index.php/dir2 -> /dir1/dir2 - redirect
/dir1/some-text_index.php/dir2/?param=value -> /dir1/some-text_index.php/dir2/?param=value - nothing to do
/dir1/index.php/dir2/?param=value -> /dir1/dir2/?param=value - redirect

Спасибо всем за ваше внимание.

  • 0
    Когда вы открываете http://domain.com/dir1/dir2 загружает ли он правильный контент?
  • 0
    Почему этот вопрос? Как это связано с моим вопросом? Да, все выглядит правильно.
Теги:
.htaccess
redirect
mod-rewrite

1 ответ

0

Вы можете использовать это правило в своем корневом каталоге.htaccess:

RewriteEngine On

RewriteCond %{THE_REQUEST} /index\.php [NC]
RewriteRule ^(.*?)index\.php(?:/(.*))?$ /$1$2 [L,R=302,NC,NE]
  • 0
    еще раз спасибо! Я постараюсь дать вам знать!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню