Apache - Solicitar uri md5

2

É possível criar uma string hash md5 da solicitação atual uri e atribuí-la como uma variável env para que eu possa lê-la a partir do PHP?

    
por SlasherZ 30.01.2011 / 15:24

3 respostas

3

Eu não testei, mas você pode tentar:

RewriteEngine on
RewriteMap md5create prg:/usr/local/sbin/md5create.pl
RewriteRule ^(.*) %{REQUEST_URI} [E=MD5HASH:${md5create:$1}]

script md5create.pl para criar o md5sum

    
por 30.01.2011 / 15:48
0

Uma alternativa para um cache básico usando o htaccess puro é carregar de um cache que reflita o URI de solicitação, na verdade, você compila seus arquivos na estrutura de árvore que seus URLs dinâmicos indicam.

Por exemplo:

Request: http://domain.com/foo/

Estrutura do arquivo:

Top Level: index.php,cache/
[Inside the cache/ directory -->] index.php, foo/

Você tem a ideia - é como se estivesse criando um site estático, mas armazenou a versão em cache do site dentro de uma pasta "cache".

Então seu .htaccess

# Add cache directory to request, store original request
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)/?$ /cache/$1 [E=orig:$1]

# Does the request exist as a directory in the cache folder?
# Yes -> load the cached page
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ %{REQUEST_FILENAME} [L]

# No -> continue with system rewrite
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php/%{ENV:orig} [L]

Juntamos isso para que pudéssemos melhorar, e confiamos que seu diretório de cache seja automaticamente preenchido como uma estrutura de arquivos, mas achamos que pode ser útil, já que é um htaccess puro.

Seus scripts do lado do servidor precisariam atualizar a estrutura de arquivos do cache e fazer o serviço de limpeza.

    
por 17.02.2011 / 19:03
-1

Você pode fazer isso usando a variável global $_SERVER["REQUEST_URI"] e usar a função interna PHP md5() para gerar isso.

Se você quiser executar isso toda vez, basta adicionar o código php à variável auto_prepend_file no php.ini.

    
por 30.01.2011 / 15:30