2010-12-08 13 views
5

Estoy absolutamente confundido acerca de lo que debo hacer para ejecutar mi muestra en CakePHP ...Cómo configurar archivos .htaccess de CakePHP en WampServer?

Estoy usando el servidor WAMP y está ubicado en "C:/archivos de programa/wamp /" y uso otro partición para mis proyectos: "E:/Proyectos /".

hay una carpeta para Aprender CakePHP: "E:/Projects/cakephp/". He puesto todo el CakePHP extrae el contenido de esa carpeta (consisten en: index.php, .htaccess, readme.txt y carpetas: aplicaciones, torta, plugins, los vendedores) ...

En primer lugar, me puse un nombre de alias (prueba) en Apache que apuntaban a "e:/Proyectos/cakephp/", y no funcionó (mensaje:! Vaya Este enlace parece no estar funcionando.)

Después de buscar, encontré que debo configurar el alias en otra carpeta: "E:/Projects/cakephp/app/webroot/", y funcionó perfectamente y me mostró la primera página de Framework CakePHP.

He resuelto todos los problemas en la primera página (con el manual de CakePHP). Traté de seguir el tutorial de blog de CakePHP ... Hice un modelo, un controlador y una página de visualización (todos relacionados con el tema "publicaciones"), pero cuando trato de ver el resultado acabo de recibir la primera página del servidor WAMP (que muestra que hay algún problema en la dirección)

utilicé la dirección: "http://localhost/test/posts/index" (que no funcionaba) entonces, traté de poner index.php en la url: "http://localhost/test/index.php/posts/index" y ¡funcionó!

archivos .htaccess cuando trato de llegar a la raíz "http://localhost/test/" funcionan perfecto, no sé lo que está mal!

xx Encontré la misma pregunta en StackOverflow, here. Toda su configuración es similar a la mía, excepto que parece que él configuró el alias en la raíz de CakePHP, ¡y no funcionó para mí!

y en realidad no pude encontrar cómo puedo usar la solución (link) que lo ayudó, ¡porque creo que es un poco diferente en mi caso!

Mis archivos .htaccess para las siguientes carpetas cakephp son los siguientes,

raíz del cakephp

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase /test/ 
    RewriteRule ^$ /app/webroot/ [L] 
    RewriteRule (.*) /app/webroot/$1 [L] 
</IfModule> 

/app

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase /test/ 
    RewriteRule ^$ webroot/ [L] 
    RewriteRule (.*) webroot/$1 [L] 
</IfModule> 

/app/Webroot

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /test/ 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L] 
</IfModule> 

Espero que alguien me puede ayudar, estoy realmente agotado ...

¡gracias de antemano por su tiempo y sus soluciones!

--------------------------------------------- ----------------------------------

Yoohoooo! ¡Encontré la respuesta! ¡Hice muchos cambios en todos mis archivos htaccess! Si tiene este problema también, primero elimine todos sus cambios y luego use este link como una gran ayuda. Espero que te ayude también! ¡CHEEEEERS! MUCHOS CHEEEEERS !! : D

Respuesta

14
  1. Haga clic derecho sobre el icono de WAMP en la barra de tareas
  2. A continuación, pasa el ratón por encima de módulos Apache
  3. de desplazamiento hacia abajo y asegúrese rewrite_module está marcada
+0

yo sepa, tiene garrapatas! – Monica

+0

genial, funciona. Gracias SiGanteng. –

+0

también es trabajo para mí gracias siGanteng! – deadman

2

realidad tiene la misma tema como tú, pero no recuerdo cómo lo resolví.

Lo que puedo asegurarle es que no es un problema de .htaccess, sino un error de configuración de Apache.

I piensa la parte que modifiqué fue esta.

<Directory /> 
    #Options +Indexes 
    Options FollowSymLinks 
    AllowOverride All 
    #Order deny,allow 
    #Deny from all 
</Directory> 

Observe cómo he comentado algunas líneas. Aunque no puedo confirmar esto, ya que no tengo el archivo de configuración predeterminado.

+0

¡Gracias, lo hice en mi httpd.conf, pero nada cambió en el resultado!¡Creo que es un problema de acceso! Utilicé muchos consejos y muchas soluciones que encontré en otros sitios web, ¡pero no puedo solucionar el problema! – Monica

+0

Estoy convencido de que no lo es. Intenta instalar WordPress y comprueba si la estructura de URL es como '/ wp/2010/12/post_title' o más como' /index.php/wp/2010/12 ... ' – metrobalderas

+0

En realidad, tengo un wordpress en mi localhost y No tengo ningún problema con mi wordpress ... funciona genial – Monica

1

uso

RewriteRule ^posts/(.*) index.php/posts/index 
+0

Gracias por su ayuda, lo coloqué en mi archivo htaccess pero muestra un mensaje de error en la página de resultados (error de controlador) ... Miré muchas soluciones diferentes pero no cambiaron esta línea "RewriteRule^(. *) $ /index.php?url=$1 [QSA, L] "pero la mayoría de ellos intenta cambiar RewriteBase ... Probé muchas cosas, pero sin ningún resultado bueno. – Monica

2

tuve mismo tema y aquí es solución que funcionó para mí

esta es mi cakephp.conf en el servidor WAMP

Alias /cakephp "d:/wamp/apps/cakephp/app/webroot" 

<Directory "d:/wamp/apps/cakephp/app/webroot"> 
    Options FollowSymLinks 
    AllowOverride all 
    Require local 
</Directory> 

Ésta es .htaccess archivo en/cakephp (no ha cambiado nada)

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ /webroot/ [L] 
    RewriteRule (.*) /webroot/$1 [L] 

</IfModule> 

Esta es .htaccess archivo en/cakephp/app (no cambiado nada)

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteRule ^$ /webroot/ [L] 
    RewriteRule (.*) /webroot/$1 [L] 

</IfModule> 

Ésta es .htaccess archivo en/cakephp/app/Webroot (cambiado)

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase /cakephp 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteCond %{REQUEST_FILENAME} !-f 
     RewriteRule ^(.*)$ /webroot/index.php [QSA,L] 
</IfModule> 

acabo línea añadido este línea de

RewriteBase /cakephp 

Después de esto yo era capaz de lanzar localhost url/cakephp/index.php/mensajes/index

Hope esto le ayudará a empezar a trabajar con CakePHP usando WAMP servidor

Cuestiones relacionadas