¿Es posible activar esta URL:
example.com/send.php?url=google.com&name=&submit=submit
En esta URL:
example.com/google.com
Cuando lo intento, sigo recibiendo errores 404 o 500 y es frustrante.
Aquí hay algunas cosas que he probado.
RewriteRule ^([^/]*)$ /send.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^([-\w\.]*)$ /send.php?url=$1&name=&submit=submit [NC,L]
RewriteRule ^(.*)$ /send.php?url=$1&name=&submit=submit [NC,L]
Si no es posible, ¿podría decirme por qué no? Soy bastante nuevo en mod_rewrite y quiero aprender.
php
.htaccess
mod-rewrite
rewrite
penfold_32
fuente
fuente
Respuestas:
Puedes probar con las siguientes reglas.
fuente
RewriteRule ^([^/]*)$ send.php?url=$1&name=&submit=submit [NC,L]
El único problema ahora es que no puedo acceder a la página de inicio. Cuandoexample.com
escribo no va a la página de inicio. Permanece encendidosend.php
y elREQUEST_URI
es '/'. Entonces mod rewrite solo consideraurl=
que es una cadena vacía.NC
bandera aquí, ya que\w
ya incluye letras mayúsculas y minúsculas. También necesitaría extender el patrón para incluir más caracteres, actualmente solo coincide con 1 carácter. es decir.^([-\w.]+)$
^([^/]*)$
coincide con 0 caracteres (es decir, la página de inicio/
). Cámbielo para incluir 1 o más. p.ej.^([^/]+)$
. Sin embargo, ese patrón parece demasiado genérico, según el ejemplo en su pregunta.O podrías intentar
No soy un experto en redireccionamiento, pero creo que el signo de interrogación al final corta todos los parámetros.
fuente
Si no está reescribiendo nada más, simplemente use:
y analizar el PATHINFO
fuente
Si desea analizar el parámetro para usarlo como archivo / directorio, debe intentar esto:
fuente
RewriteRule
patrón . ¿Pero parece que el OP quiere "ir para otro lado"?