Pergunta

Eu sou um newb para PHP. Alguém pode me dizer o que cada linha faz aqui. Que eu preciso disso? Ele está dando erros me

RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) /~%1/rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteCond %{REQUEST_URI} /~([^/]+)/?
RewriteRule ^index\.php?(.*)$ /~%1/rewrite.php?p=%1&%{QUERY_STRING} [L]
#there is no ~ character in the URL
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*) ./rewrite.php?p=$1&%{QUERY_STRING} [L]
RewriteRule ^index\.php?(.*)$ ./rewrite.php?p=$1&%{QUERY_STRING} [L]
#WJ-180 fix
RewriteRule ^resume\.php?(.*)$ ./rewrite.php?p=resume\.php$1&%{QUERY_STRING} [L]
Foi útil?

Solução

A resposta simples:. Estas declarações reescrever todos os pedidos para um arquivo rewrite.php

A resposta mais abrangente: As directivas RewriteCond e RewriteRule são do Apache módulo mod_rewrite e fornecer um mecanismo de URL reescrever regra baseada.

Parece que estas regras se destinam a reescrever todos os pedidos para um arquivo rewrite.php, seja em um diretório específico (/~ foobar /rewrite.php) ou na raiz (/rewrite.php).

Outras dicas

Se você é novo, por favor leia http: //httpd.apache. org / docs / 1.3 / mod / mod_rewrite.html , é explicado muito bem.

P.S. Seu título "O que essas declarações significam em arquivo meu PHP .htaccess?" é incorreto, Htacces não é arquivo php.

Estes digamos

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

"Só use a seguinte regra se o pedido não corresponder a um arquivo ou diretório existente."

Essas são mod_rewrite configuração entradas.

É uma regra mod_rewrite do Apache. A menos que você estiver usando algum tipo de quadro que você provavelmente não precisa dele. Veja Apache mod_rewrite para mais informações.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top