O que essas declarações significam no meu arquivo .htaccess?
-
03-07-2019 - |
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]
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.