#regex #apache #.htaccess #mod-rewrite
#регулярное выражение #apache #.htaccess #мод-перезапись
Вопрос:
Я хочу проверить, запрашивает ли пользователь какую-либо страницу, htaccess проверяет эту страницу в папке кэша и существует ли кэшированная страница. htaccess перезаписывает запрошенную страницу на эту кэшированную страницу.
структура папок:
root/
продукт /
сервисы/
кэш/
продукт/index.html
службы/index.html
index.php
images/
css/
например: example.com/product / to example.com/cache/product/
Ответ №1:
поместите этот код в свой DOCUMENT_ROOT/.htaccess
файл:
RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}/cache/$2/index.html -f [NC]
RewriteRule ^(. ?)/?$ /cache/$1/index.html [L]
RewriteCond %{DOCUMENT_ROOT}/cache/$1 -f [NC]
RewriteRule ^(. ?)/?$ /cache/$1 [L]
Комментарии:
1. если я наберу example.com/product / его сообщение не найдено 404, example.com/product/index.html чем его работа. пожалуйста, помогите мне в этом
2. Я буду использовать этот скрипт для динамических файлов, таких как уменьшенный js css
3. Убедитесь, что этот файл .htaccess находится в
DocumentRoot
, и это правило является вашим самым первым правилом. Также убедитесь, что$DOCUMENT_ROOT/cache/product/index.html
файл существует.4. файл находится там. и .htaccess находится в корневом каталоге
5. Очень, очень аккуратное использование mod-rewrite! 1 как к вопросу, так и к ответу. 🙂