Назад | Перейти на главную страницу

Как удалить завершающую косую черту из REQUEST_FILENAME для сравнения в условии перезаписи?

Если я запрошу страницу http://www.mysite.com/frogs/ и используйте эти правила перезаписи:

# See if the requested URL is in our cache. If so, serve it
RewriteCond /var/www/cache%{REQUEST_FILENAME}.html -f
RewriteRule (.*) /var/www/cache/$1.html [L,QSA]

Apache пытается найти файл с именем «frogs / .html», что, конечно же, терпит неудачу. Я хочу использовать% {REQUEST_FILENAME} без косой черты в конце, чтобы вместо этого он выполнял поиск и обслуживал frogs.html.

Как я могу это сделать?

РЕДАКТИРОВАТЬ:

Проверьте это. Следует убрать косую черту в конце:

RewriteCond /var/www/cache/$1.html -f
RewriteRule ^/(.+)/*$ /var/www/cache/$1.html [L, QSA]

Причина в том, что вы можете ссылаться на регулярное выражение в скобках в RewriteRule из RewriteCond. Видеть mod_rewrite документы для получения дополнительной информации о потоке обратных ссылок.