La URL real que usa mi aplicación es:
http://site.com/search.php?search=iPhone
pero me gustaría que sea posible lograr lo mismo con
http://site.com/iPhone
No tengo experiencia en reglas de reescritura, ¿cómo puedo configurar esto?
La solución ha funcionado, pero la nueva URL se muestra en la barra de direcciones. Pensé que habría sido posible configurar esto para que parezca que la ubicación de la página es
http://site.com/iPhone
sin cambiar para mostrar
http://site.com/search.php?search=iPhone
es posible? Gracias.
Crea un archivo llamado .htaccess en la raíz de tu sitio web y ponlo en él.
RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule ^(.*) search.php?search=$1 [R]
Debería hacer el truco.
Sin embargo, le sugiero que lo haga un poco más específico, por lo que tal vez requiera al usuario de un directorio de búsqueda en su url. por ejemplo, en lugar de mysite.com/IPhone utiliza mysite.com/search/IPhone que funcionaría como
RewriteEngine on Options +FollowSymlinks RewriteBase / RewriteRule ^search/(.*) search.php?search=$1 [R]
Esto hace que sea más fácil tener páginas normales que se redirigen, como sobre nosotros o una página de inicio básica.
Como dice Chris, esto no es PHP, pero Apache lo hace, y si funciona puede depender de la configuración de tu hosting.
Debe especificar algo como esto en su archivo .htaccess:
RewriteEngine on RewriteRule /(.*) /search.php?search=$1
Verifique también:
Las reglas de reescritura no son parte de PHP, hasta donde yo sé, pero Apache (específicamente mod_rewrite
) o el servidor que estés usando. Para Apache, necesita en el servidor tener un archivo llamado .htaccess
, y en él colocar algo como:
RewriteEngine on RewriteRule ^(\w+)/?$ /index.php?search=$1
^(\w+)/?$
es una expresión regular: coincide con cualquier palabra de 1 o más caracteres, seguida de un /
tal vez. Por lo tanto, cambia site.com/iPhone
en site.com/index.php?search=iPhone
. ¿Suena bien?