Как я могу добавить дополнительное слово к URL, используя mod_rewrite - PullRequest
0 голосов
/ 15 февраля 2012

У меня есть приложение с такими URL-адресами:

https://www.domain.com/example/public/subscription
https://www.domain.com/example/public/subscription/source
https://www.domain.com/example/public/test/subscription

Я хотел бы использовать mod_rewrite (или другой метод) для создания более коротких «псевдонимов» вышеуказанных URL-адресов, удалив часть /public/, чтобы я мог предоставить своему клиенту следующие более короткие версии URL-адресов:

https://www.domain.com/example/subscription
https://www.domain.com/example/subscription/source
https://www.domain.com/example/test/subscription

Другими словами, при просмотре https://www.domain.com/example/subscription, например:

  • Сервер должен отправить обратно тот же ответ, что и при открытии https://www.domain.com/example/public/subscription напрямую
  • Браузер должен по-прежнему отображать более короткую версию URL (без /public/) в адресной строке

Возможно ли это вообще, и как будет выглядеть такой RewriteRule?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 15 февраля 2012

поместите это .htaccess файл в ваш DocumentRoot.

Options +FollowSymLinks -Indexes -MultiViews
RewriteEngine on
RewriteBase /

RewriteRule ^(example)/(.*)$ $1/public/$2 [NC,L]
0 голосов
/ 15 февраля 2012

Вы просто хотите "удалить" ключевое слово public?

Попробуйте это правило перезаписи:

RewriteRule ^/example/public/(.*) /example/$1 [L]
...