2012-05-31 18 views
11

todos. Esta vez intenté cakephp, pero tengo "La reescritura de URL no está configurada correctamente en tu servidor. 1) Ayuda a configurarlo 2) No puedo/no puedo usar la reescritura de URL". Podría saber que esto es problemas de apache y .htaccess como/etc/apache2/sites-avaliable/default y cada directorio .htaccess.cakephp no funciona url-reescritura en Ubuntu

Mi entorno de desarrollo ...

  • Ubuntu12.04 en VMware fusion4
  • apache2.2.22
  • mysql5.5
  • php5.3.10
  • cakephp2.1

Mi proceso se sigue ...

1) /etc/apache2/httpd.conf

<Directory /> 
Options FollowSymLinks 
AllowOverride All 
</Directory> 

2) que permite mod_rewrite

sudo a2enmod rewrite 
sudo service apache2 reload 

3) editando/etc/apache2/sites-disponible/default (AllOverride Ninguno de AllOverride Todos)

<Directory /> 
Options FollowSymLinks 
AllowOverride All 
</Directory> 
<Directory /var/www> 
Options Indexes FollowSymLinks MultiViews 
AllowOverride All 
Order Allow,Deny 
Allow from all 
</Directory> 

prompt: sudo service apache2 reload 

4) la edición o la comprobación de cada archivo .htaccess - directorio> root torta

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

-> root aplicación directorio

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

- Directorio> Webroot

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

Este problema se resuelve, gracias.

+1

define 'does not work' – Dunhamzzz

+1

Para mí, esto funcionó. sudo a2enmod reescribir && sudo service apache2 recargar – mac

+0

Hice todo menos el paso 1 .. gracias ^^ " –

Respuesta

6

Tuve este problema también. Resulta que el archivo .htaccess no se copió junto con la fuente cakePHP. Este es un problema común al usar el comando cp o no tener archivos ocultos visibles en un buscador de archivos, a menos que copie el directorio de nivel superior.

Al hacer una copia directa del archivo a la carpeta de mi proyecto, lo solucioné sin tener que meterme con la configuración de Apache.

cp ~/git/cakePHP/.htaccess ~/project/folder/ 
-1

Esto podría ser un problema de permisos de archivos. Intenta establecer de forma recursiva los permisos en 777 para los directorios webroot y tmp. El directorio tmp puede requerir sudo.

sudo chmod -R 777 /path/to/app/webroot/ 
sudo chmod -R 777 /path/to/app/tmp/ 
+0

Gracias por responder. Los permisos ya han estado bien. –

+0

No se puede simplemente dar 777 permiso a webroot. Eso conducirá a cero seguridad –

0

missconfiguration posible:

Comprobar si el archivo es http://your_domain_name/css/cake.generic.css rechable desde su navegador. Si no obtendrá la advertencia en la página de inicio por defecto-

Si usted tiene un Directorio {HOME}/css en el nivel raíz, UrlRewriting no volverá a dirigir http://your_domain_name/css/cake.generic.css-{HOME}/app/webroot/css/cake.generic.css.

Por lo tanto, no se encontrará el archivo css, lo que provocará que el mensaje de reescritura de URL no esté configurado correctamente. (Consulte Aplicación de archivo/Ver/Páginas/home.cpt)

Solución: Elimine por completo {HOME}/css Directorio en el nivel raíz. Coloque su css-File en {HOME}/app/webroot/css.

Cuestiones relacionadas