#php #apache #.htaccess #mod-rewrite
#php #apache #.htaccess #модификация-перезапись
Вопрос:
http://example.com/upload/aaa.jpg to
http://example.com/asset/example.com/aaa.jpg
~~
RewriteCond %{HTTP_HOST} ^(?:www.)?(. )$
RewriteRule ^upload/(.*)$ asset/%1/$1 [L]
это работает, но я хочу разрешить только ppl в example.com прямой доступ к
http://example.com/asset/example.com/aaa.jpg
eg: http://aa.com only can access
http://aa.com/asset/example.com/xxxx.jpg
как я могу это сделать?
Options FollowSymLinks -MultiViews
# Turn mod_rewrite on
RewriteEngine On
RewriteBase /asset/sss.ssss.com/
RewriteCond %{HTTP_HOST} !^sss.ssss.com$ [NC]
RewriteRule ^ - [F]
вот мое решение
Комментарии:
1. так вы не хотите, чтобы люди видели это на вашей веб-странице?
2. я боюсь, что люди пойдут по этому пути. я должен запретить ppl для этого
3. нет, если вы хотите отобразить изображение на своей веб-странице, вы не можете скрыть путь
4. то есть, когда я должен показать это изображение пути, я должен разрешить ppl доступ к нему? я использую RewriteRule для получения изображения этого пути, поэтому я хочу запретить ppl прямой доступ к этому пути
5. да, потому что, когда вы отображаете изображение в браузере, браузер сначала загружает изображение с сервера, а затем оно отображается на веб-странице. итак, если вы хотите ограничить доступ от пользователей, вам также нужно ограничить его из вашего браузера. Следовательно, браузер не сможет отобразить ваше изображение. Всякий раз, когда изображение отображается в браузере, это изображение должно быть доступно всем пользователям. Никто в мире не может скрыть коды или изображения на стороне клиента.