Страница удержания.htaccess без изменения URL сайта

Если у меня есть сайт mysite.com и в корне сайта у меня есть файл /holding/index.html, как я могу написать свой.htaccess, чтобы показать индекс удерживающей страницы, не показывая URL mysite.com/holding/ в адресной строке.

Вот моя структура каталогов:

public_html
└── .htaccess
└── holding
    └── index.html
    └── assets (css, img)
└── email-signature
    └── assets (img)

Мой.htaccess в настоящее время:

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/email-signature/assets/logo.jpg$
RewriteCond %{REQUEST_URI} !^/email-signature/assets/spacer.gif$
RewriteCond %{REQUEST_URI} !^/holding/(.)*$ [NC]
RewriteRule ^(.*)$ /holding/ [R=302,L]

Но это показывает mysite.com/holding/ в адресной строке... я хочу, чтобы он оставался mysite.com но по-прежнему показывают индекс удерживающей страницы. Это возможно?

Активы подписи электронной почты должны быть доступны на mysite.com/email-signature/assets/... (Я также хотел бы не указывать каждый файл в.htaccess, а просто подстановить все файлы jpg, png, gif в email-signature/* как доступно).

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

1 ответ

Решение

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

RewriteEngine On

RewriteCond %{REQUEST_URI} !^/email-signature/ [NC]
RewriteRule !^holding/ /holding/ [NC,L]
  • Удалить R=3xx флаг, чтобы избежать внешнего перенаправления
  • Добавьте этот чуть ниже раздел HTML вашей страницы: <base href="/holding/" /> разрешить относительные пути css/js/images и т. д.
Другие вопросы по тегам