Pregunta

Soy nuevo en PHP. ¿Alguien puede decirme qué hace cada línea aquí? ¿Necesito esto? Me está dando errores.

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]
¿Fue útil?

Solución

La respuesta simple: estas declaraciones reescriben cada solicitud en un archivo rewrite.php .

La respuesta más completa: las directivas RewriteCond y RewriteRule son de las directivas Apache module mod_rewrite y proporciona un mecanismo de reescritura de URL basado en reglas.

Parece que estas reglas están destinadas a volver a escribir cada solicitud en un archivo rewrite.php , ya sea en un directorio específico ( / ~ foobar /rewrite.php ) o en la raíz ( /rewrite.php ).

Otros consejos

Si eres nuevo, lee http: //httpd.apache. org / docs / 1.3 / mod / mod_rewrite.html , se explica muy bien.

p.s. Su título " ¿Qué significan estas declaraciones en mi archivo PHP .htaccess? " es incorrecto, .htacces no es un archivo php.

Estos dicen

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

" Solo use la siguiente regla si la solicitud no coincide con un archivo o directorio existente. "

Esas son mod_rewrite entradas de configuración.

Es una regla de Apache mod_rewrite. A menos que esté utilizando algún tipo de marco, probablemente no lo necesite. Ver Apache mod_rewrite para más información.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top