2016-12-12 4 views
2

Я хотел бы переназначить файл index.php как каталог ...htaccess индекс мод каталога переписывают

Im реальный URL, это просто: localhost/app/index.php?app=my-app

Я новичок в mod_write, и я знаю, как это действительно работает. Я пытался использовать это:

RewriteRule ^app/(.*)/?$ index.php?app=$1 [QSA] 

И это работает только с localhost/app/my-app .. Теперь, как я могу заставить его работать на с или без косой черты в конце, а также с именем файла index.php ..

Я хочу что-то вроде этого:

  • локального/приложение/мое-приложение
  • локальных/приложение/мое-приложение/
  • локального/приложение/мой-приложение/index.php (если другое имя файла, то заблуждается или)
+1

В чем Ваш вопрос? – Blueblazer172

+0

Я обновил свой вопрос @ Blueblazer172 –

+0

Я только что протестировал этот «RewriteRule» по адресу http://htaccess.mwl.be/, и он отлично работает. Какую цель вы пытаетесь достичь здесь? – Koen

ответ

2
RewriteRule ^app/([^/]*)(?:|/|/index\.php)$ index.php?app=$1 [QSA] 

См Regex101.

EDIT: Fixes (см. Комментарии)

+0

Thanks! Но что, если пользователь вошел в другое имя файла вместо index.php ex: localhost/app/my-app/hello.php, как я могу перенаправить его на страницу с ошибкой? –

+0

Хорошо работает! СПАСИБО БОЛЬШОЕ! : D –

+1

Хорошая точка. Я исправил ответ выше. Использует '[^ /]' вместо '. *?', Который будет соответствовать всем после '/' до конца строки, включая '/ hello.php'. – BareNakedCoder

Смежные вопросы