El local de wordpress en la página principal del sitio web se ejecuta bien, pero mod_rewrite no funciona. Así, la página de inicio de obras, pero tan pronto como haga clic en cualquier enlace de obtener Not Found.

Registro de salida para este error:

[error] [client 127.0.0.1] File does not exist: /Applications/MAMP/htdocs/myweb/my-web-page-that-has-to-work, referer: http://myweb.dev/

Según mi entender, el error significaría que busca en esa página en particular en lugar de utilizar mod_rewrite en orden tot conseguir que la página de base de datos.

httpd.conf contenido relevante:

# Virtual hosts, uncommented include
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

...

# AllowOverride All is here
<Directory "/Applications/MAMP/htdocs">
Options All
AllowOverride All
Order allow,deny
Allow from all
XSendFilePath "/Applications/MAMP/htdocs"
</Directory>

httpd-vhosts.conf contenido relevante:

<VirtualHost *:80>
DocumentRoot /Applications/MAMP/htdocs
ServerName localhost
</VirtualHost>

<VirtualHost *:80>
DocumentRoot "/Applications/MAMP/htdocs/myweb"
ServerName myweb.dev
ServerAlias www.myweb.dev
ErrorLog "/private/var/log/apache2/myweb-error_log"
CustomLog "/private/var/log/apache2/myweb-access_log" common
</VirtualHost>

Alguna pista sobre cómo conseguir que funcione?

2 Comentarios

  1. 1

    Primero asegúrese de Apache carga el módulo. Ver: Cómo activar el mod_rewrite de Apache 2.2

    A continuación, agregar esto a una .htaccess dentro de la carpeta

    <IfModule mod_rewrite.c>
      RewriteEngine On
      RewriteBase /
    </IfModule>

    o acaba de añadir a su httpd-vhosts.conf como este. CORREGIDO:

    <VirtualHost *:80>
      DocumentRoot "/Applications/MAMP/htdocs/myweb"
      ServerName myweb.dev
      ServerAlias www.myweb.dev
      ErrorLog "/private/var/log/apache2/myweb-error_log"
      CustomLog "/private/var/log/apache2/myweb-access_log" common
    
    
      <Directory "/Applications/MAMP/htdocs/myweb">
            AllowOverride All
            Allow from all  
    
            <IfModule mod_rewrite.c>
               RewriteEngine On
               RewriteBase /
            </IfModule>
    
      </Directory>
    
    </VirtualHost>

    Ahora agregar sus reglas de reescritura para WP y ver si funciona.

    Usted puede comprobar si Apache está cargando el módulo con un script de PHP dentro de la carpeta. Intente esto y continuar desde allí.

    <?php
    
    if (in_array('mod_rewrite', apache_get_modules())) {
        echo "Yes, Apache supports mod_rewrite.";
    }
    
    else {
        echo "Apache is not loading mod_rewrite.";
    }
    • Gracias, pero yo uso MAMP, que es para osx, y no hay tal cosa como a2enmod . también he probado a poner el IfModule allí, pero el Apache Servidor no se inicia.
    • ¿Has probado a añadir RewriteEngine On y AllowOverride All para su Virtualhost.
    • servidor no se inicia. Sólo funciona cuando me quite las líneas
    • Eliminar el <ifModule …> etiqueta. También esta es la forma de añadir el módulo en MAMP.
    • Yo lo hice, se inicia el servidor, pero el cambio no, aún no se encuentra.
    • Creo que el módulo no está cargado de verificación de los cambios anteriores.
    • Yes, Apache supports mod_rewrite. también puedo actualizar el httpd-vhosts.conf archivo, y aún así conseguir que no se encuentra

  2. 0
    1. Primero asegúrese de MAMP Apache carga el módulo. MAMP ha activado esta opción por defecto.
    2. Hice esto para Joomla. WordPress debe ser similar. Mac no iba a permitir que cambie el nombre de la htaccess.txt en la raíz (htdocs/yourwebsite/)
    3. En lugar de jugar con los Complementos que mostrar archivos ocultos – la forma más fácil es abrir Filezilla y cambie el nombre del archivo local allí. Utiliza el habitual htaccess de wordpress y cambiar el nombre a .htaccess
    4. Activeate reescribir como de costumbre en el wordpress-backend.

Dejar respuesta

Please enter your comment!
Please enter your name here