php - instalar - mod_rewrite apache2 debian
.htaccess ha sido leĆdo pero reescribir url no funciona (3)
Parece que RewriteCond espera que coincida con http://localhost/boombottleh2o/
lugar de la url que localhost/magentodev/boombottleh2o
ya que la cadena REQUEST_URI contendrá /magentodev/boombottleh2o
, pero tu expresión regular espera coincidir /boombottleh2o
al principio de la cuerda.
Para arreglar la condición, deberías eliminar el quilate ^
al principio.
También estás escapando del personaje +
hacia el final de tu expresión regular. /+?
intentará hacer coincidir el símbolo +
0 o una vez. No estoy seguro de si fue intencional, pero si usa .*?
en su lugar, siempre coincidirá con una solicitud para la carpeta / boombottleh20 /, incluso si la solicitud es más profunda o incluye un tipo de archivo
Tl; dr - Creo que su RewriteRule debería verse así:
RewriteCond %{REQUEST_URI} /boombottleh2o.*?$
el módulo en el httpd.conf para reescribir es el siguiente:
LoadModule rewrite_module modules/mod_rewrite.so
ruta a .htaccess:
c:/wamp/www/magentodev/.htaccess
por lo tanto, en .hora tengo esto:
<IfModule mod_rewrite.so>
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{REQUEST_URI} ^/boombottleh2o/+?$
RewriteRule (.*) /gu/boombottleh2o.php [NC,L,QSA]
//some other ones
</IfModule>
Esperaba probar:
localhost/magentodev/boombottleh2o
en lugar de:
localhost/magentodev/gu/boombottleh2o.php
se supone que debe funcionar porque está trabajando en producción pero no en localhost, tengo el servidor de wamp apache y aquí hay algunas configuraciones:
en C: / wamp / bin / apache / apache2.4.9 / conf / httpd.conf:
<Directory "c:/wamp/www/">
Options Indexes FollowSymLinks
AllowOverride All
Require local
</Directory>
no es correcto, como dice Anu, así que cambié el en C: / wamp / bin / apache / apache2.4.9 / conf / extra / httpd-vhosts.conf a:
<Directory "C:/wamp/www/">
Options All
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
ServerAdmin localhost
DocumentRoot C:/wamp/www/
ServerName localhost
</VirtualHost>
No pude entender lo que está mal, agradezco cualquier ayuda
Tenga su C:/wamp/www/magentodev/.htaccess
así:
ErrorDocument 404 default
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^boombottleh2o(/.*)?$ gu/boombottleh2o.php [NC,L]
mod_rewrite
Referencias:
Tuve un problema similar en mi servidor Wamp 2.5 con Windows 7.
Su archivo .htaccess parece sólido para lo que está intentando lograr, pero con su vhost.conf asegúrese de cubrir todos sus límites y agregar una expresión regular * al comienzo del archivo
Entonces, en lugar de
<Virtualhost localhost: 80>
Usted obtiene
<VirtualHost *: 80>
Esto elimina el host local como ya lo estableció como el ServerName y puede agregar un alias debajo de Neath
Esto puede sonar obvio, pero ¿has probado algo con el gestor de agua?
Haga clic en el icono de Wamp, luego en Apache, luego en los módulos y desplácese un poco hacia abajo y asegúrese de que el módulo de reescritura tenga una marca al lado. ¡Eso lo solucionó!
Buena suerte, Wamp siempre es más complicado de lo que parece