Ответ в обратном порядке ...
Получить изображения для отображения на моей странице. При просмотре страницы у меня повреждены изображения, которые не отображаются, поскольку он ищет изображения, расположенные:
https://www.example.com/website/assets/
Если изображения переместились (изнутри) и вы не можете чтобы изменить исходный код HTML, вам следует подумать о реализации внутренней перезаписи для ваших активов, а не о внешней переадресации. Внешний редирект будет безнадежно неэффективным, особенно если у вас много изображений. (Внешнее перенаправление все еще может использоваться для основного URL - см. Ниже.)
### Rewrite rule not working
RewriteRule ^/website/assets(/.*)?$ /website2020/assets
В .htaccess
URL-путь, соответствующий шаблону RewriteRule
не начинается с sla sh. Вы также не можете скопировать запрошенный «актив» (изображение). Если это относится только к изображениям (как вы предлагаете), тогда рассмотрите только соответствующие изображения.
Например, попробуйте это вверху вашего .htaccess
файла:
RewriteEngine On
# Internally rewrite assets
RewriteRule ^website/assets(/.*)?$ /website2020/assets$1 [L]
Флаг L
необходим, если у вас есть другие директивы mod_rewrite позже в файле.
- Перенаправление
https://www.example.com/website
на https://www.example.com/website2020
Если вы реализовали внутреннее переписывание, как описано выше, то вам следует реализовать перенаправление с помощью mod_rewrite, а не mod_alias RedirectMatch
(который выполняется позже).
Например:
RewriteEngine On
# Redirect everything, except assets
RewriteCond %{REQUEST_URI} !^/website/assets
RewriteRule ^website(/.*)?$ /website2020$1 [R=302,L]
# Internally rewrite assets
RewriteRule ^website/assets(/.*)?$ /website2020/assets$1 [L]