Problema con .htaccess: Solución para quitar index.php en URL

  • Autor Autor MoParG
  • Fecha de inicio Fecha de inicio
MoParG

MoParG

Beta
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
Buenas Betas mi problema es que el .htaccess en mi tema no funciona.

Este es el código que tiene:

Insertar CODE, HTML o PHP:
# BEGIN W3TC Browser Cache
<IfModule mod_deflate.c>
    <IfModule mod_headers.c>
        Header append Vary User-Agent env=!dont-vary
    </IfModule>
    <IfModule mod_filter.c>
        AddOutputFilterByType DEFLATE text/css text/x-component application/x-javascript application/javascript text/javascript text/x-js text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon application/json
    <IfModule mod_mime.c>
        # DEFLATE by extension
        AddOutputFilter DEFLATE js css htm html xml
    </IfModule>
    </IfModule>
</IfModule>
# END W3TC Browser Cache
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

El problema es que no cumple la funcion de inhablitar el index.php en mis paginas, post, categorias, etc.

Me refiero a que actualmente sale:
www.misitio.com/index.php/nombredelpost

Y lo que quiero es que salga:
www.misitio.com/nombredelpost

Existe alguna solucion?

Estoy haciendo algo mal ?

Espero su ayuda, gracias de antemano. :encouragement:


ACTUALIZO EL TEMA
-------------------------
La cuestión es que en mi servidor local funciono lo de activar el modulo de Apache, pero lamentablemente en mi pagina ya montada no funciona. En realidad no se si es por los módulos de Apache o por la versión de Apache ya que en el servidor montado en la empresa que trabajo esta montado en Linux y Apache 2.4.7. Cuando realice los mismos pasos que hice en mi servidor local montado con WampServer, en el servidor de la empresa que trabajo, no me produjo el mismo resultado. Lamentablemente no se que pudo pasar ya que no soy experto en Servidores y en mi trabajo tampoco existen expertos en ese tema. :upset:
 
Última edición:
Tienes que ir al Dashboard, "Enlaces permanentes" y sacar de ahí el index.php...😉
 
JoseDieguez exactamente ese ese el problema que cuando hago el cambio en "Enlaces permanetes" y quito el index.php me sale la pagina de error 404 Not Found.

Por eso, no me explico, por que no funciona el .htaccess si creo que esta bien configurado para que pueda eliminar el index.php
 
Última edición:
Hola , no entiendo muy bien porqué tocaste este archivo sabiendo lo delicado que es

Para iniciar vuelve a ponerlo como viene por defecto, que para instalaciones NO multisites es este el código [MENTION=40037]MoParG[/MENTION]

Borra todo lo que tienes y deja simplemente este código

PHP:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
 
[MENTION=1576]ramonjosegn[/MENTION] el código que tiene no afecta en nada en el funcionamiento en mi pagina.

Hice lo que me dijiste y lo deje como venia por defecto y sigue sin funcionar, en realidad tropecé con este problema desde un principio. solo que ahora quiero solucionarlo ya que pasaron varias semanas y es hora de optimizar mis enlaces.
 
¿Has contactado a tu proveedor de hosting? hay algunas pruebas que se pueden hacer.
 
[MENTION=1576]ramonjosegn[/MENTION] el código que tiene no afecta en nada en el funcionamiento en mi pagina.

Hice lo que me dijiste y lo deje como venia por defecto y sigue sin funcionar, en realidad tropecé con este problema desde un principio. solo que ahora quiero solucionarlo ya que pasaron varias semanas y es hora de optimizar mis enlaces.

Por mi experiencia el problema es porque configuraste mal algo en los links permanentes los cuales dependen del htaccess

¿Estás usando algún plugin para hacer redirecciones?

¿Estás usando algún plugin SEO?

¿Podrías subir una captura de la configuración de TUS LINKS PERMANENTES?

Generalmente estos problemas se resuelven así (pero me da que tienes más problemas que los que se podrían solucionar)

1 - ingresa a WordPress y ubícate en la sección de ENLACES PERMANENTES (no toques nada pero deja la ventana abierta)

2 - ingresas por FTP y borras, sí, borras el archivo htaccess

3 - en la página de links permanentes que deberías tener abierta haces clic en "guardar"


Eso hará que se cree un nuevo htaccess limpio y con la configuración correcta

Si sigue fallando toca mirar por otro lado pero me gustaría ver tu captura de links permanentes... quizás ahí está el problema...
 
[MENTION=1576]ramonjosegn[/MENTION] tengo la instalación de mi blog en el local, donde hago pruebas, volví a hacer una nueva instalación, sin plugins, sin nada de personalización esta completamente vació. Y sigo teniendo el mismo problema.

Mi configuración por defecto en "Enlaces Permanentes" es la siguiente:

enlaces permanentes.webp

Seguí tus pasos, al pie de la letra y me genero el nuevo .htaccess en mi configuración de enlaces quedo así:

enlaces permanentes 2.webp

Y el resultado es que me sigue saliendo el mismo error:

not found.webp

El archivo .htaccess esta de la siguiente manera:

ht.webp

:dontknow:
 
Es prueba local... quizás tienes algo mal fuera de wordpress.
 
[MENTION=109946]JoseDieguez[/MENTION] Algo mal fuera de wordpress ? :s
 
index-php.webpHola [MENTION=40037]MoParG[/MENTION]

Tienes mal armados los links permanentes

Has incluido en el link permanente personalizado /index.php/

Ese es el problema.

La solución complicada, te tocaría revisar link por link o no sé muy bien cómo podrías corregirlo...
 
Última edición:
Para que te funcione el .htaccess que trae por defecto wordpres:

PHP:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

El apache tiene que tener cargado el modulo mod_rewrite, verifica si tu hosting lo trae activo. Si no es así tienes que dar mas detalle de tu hosting para explicarte como hacerlo.
 
[MENTION=10794]domox[/MENTION] eres un capo ! :encouragement:

Me parecía que era algo así de APACHE y habilitar un modulo, que lo sabia hace unos años, pero lo olvide y te doy las gracias por hacer que lo recuerde.
 
[MENTION=10794]domox[/MENTION] eres un capo ! :encouragement:

Me parecía que era algo así de APACHE y habilitar un modulo, que lo sabia hace unos años, pero lo olvide y te doy las gracias por hacer que lo recuerde.

Siempre a tu orden [MENTION=40037]MoParG[/MENTION]
 
ACTUALIZO EL TEMA
-------------------------
La cuestión es que en mi servidor local funciono lo de activar el modulo de Apache, pero lamentablemente en mi pagina ya montada no funciona. En realidad no se si es por los módulos de Apache o por la versión de Apache ya que en el servidor montado en la empresa que trabajo esta montado en Linux y Apache 2.4.7. Cuando realice los mismos pasos que hice en mi servidor local montado con WampServer, en el servidor de la empresa que trabajo, no me produjo el mismo resultado. Lamentablemente no se que pudo pasar ya que no soy experto en Servidores y en mi trabajo tampoco existen expertos en ese tema. :upset:
 
Hola [MENTION=40037]MoParG[/MENTION]

Ya te expliqué que tenías errado por completo los links permanentes (al menos para funcionar en servidor).

No sé si no me leíste, pero en fin, allá cada uno...
 
como indica [MENTION=1576]ramonjosegn[/MENTION] estas poniendo "index.php" de mas por eso no te funciona como deseas, si lo quitas funcionara normalmente
 
como indica [MENTION=1576]ramonjosegn[/MENTION] estas poniendo "index.php" de mas por eso no te funciona como deseas, si lo quitas funcionara normalmente

Creo que el problema es que deseaba que le funcionara igual en ambas plataformas, y vamos, un servidor es un servidor, y un simular (emulador) o como quieras llamarlo no deja de tener sus restricciones con respecto a un servidor, empezando porque estás corriendo algo que funciona en Linux sobre Windows, jamás va a funcionar exactamente igual...
 
[MENTION=1576]ramonjosegn[/MENTION] Si leí lo publicaste anteriormente. Pero ese no es el error, ya que lo que deseo hacer es quitar el index.php permanentemente con el .htaccess.

Me explico mejor, ese index.php apareció por defecto cuando instale el tema wordpress, mi primera opción fue quitarlo (como tu lo mencionaste) pero no funciono, es por eso que creí que había un error en el .htaccess, pero no es así. Es por eso que no entiendo por que no funciona correctamente, no se si es la versión de Apache instalada en el servidor de la empresa en la que trabajo o cual sera el error, que no puedo detectar. :/
 
Atrás
Arriba