php .htaccess kohana-3 gentoo

php - El servidor Apache ignora.htaccess



kohana-3 gentoo (3)

Como dijo Jim, si tiene acceso completo a su servidor, debería simplemente poner todo en los archivos de configuración del servidor.

Llegué aquí porque pensaba que mi servidor ignoraba mis propios archivos de configuración de htaccess / servidor. Sin embargo, resultó que tenía mod_expires y mod_rewrite deshabilitados. Después de haber investigado a los dos, todo estaba funcionando de nuevo como debería.

Puede habilitarlos ejecutando estos comandos:

sudo a2enmod expires sudo a2enmod rewrite

Luego reinicia apache

service apache2 restart

Espero que esto ayude a alguien por ahí!

Intento que un sitio web funcione en mi entorno de prueba, pero de alguna manera no funciona. Puedo cargar la página de índice normal, pero cuando quiero acceder / página / probar arroja un error que dice que la página no existe. Mi registro dice:

File does not exist: /home/page_url/www/page

Lo que de hecho es cierto, pero debería llegar al controlador de mi Página y cargar el método de prueba.

Mi .htaccess se ve así:

# Turn on URL rewriting RewriteEngine On # Installation directory RewriteBase / # Protect hidden files from being viewed <Files .*> Order Deny,Allow Deny From All </Files> # Protect application and system files from being viewed RewriteRule ^(?:application|modules|system)/b.* /$0 [L] # Allow any files or directories that exist to be displayed directly RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule .* index.php/$0 [PT]

Mi configuración de vhost se ve así:

<VirtualHost *:80> ServerName page_url Include /etc/apache2/vhosts.d/vhco.include DocumentRoot "/home/page_url/www/" # Logging CustomLog /var/log/apache2/access_log common ErrorLog /var/log/apache2/error_log # This should be changed to whatever you set DocumentRoot to. <Directory "/home/page_url/www/"> # Possible values for the Options directive are "None", "All", # or any combination of: # Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews # # Note that "MultiViews" must be named *explicitly* --- "Options All" # doesn''t give it to you. # # The Options directive is both complicated and important. Please see # http://httpd.apache.org/docs/2.2/mod/core.html#options # for more information. Options Indexes FollowSymLinks # AllowOverride controls what directives may be placed in .htaccess files. # It can be "All", "None", or any combination of the keywords: # Options FileInfo AuthConfig Limit AllowOverride All # Controls who can get stuff from this server. Order allow,deny Allow from All </Directory> <IfModule alias_module> # Redirect: Allows you to tell clients about documents that used to # exist in your server''s namespace, but do not anymore. The client # will make a new request for the document at its new location. # Example: # Redirect permanent /foo http://www.example.com/bar # Alias: Maps web paths into filesystem paths and is used to # access content that does not live under the DocumentRoot. # Example: # Alias /webpath /full/filesystem/path # # If you include a trailing / on /webpath then the server will # require it to be present in the URL. You will also likely # need to provide a <Directory> section to allow access to # the filesystem path. # ScriptAlias: This controls which directories contain server scripts. # ScriptAliases are essentially the same as Aliases, except that # documents in the target directory are treated as applications and # run by the server when requested rather than as documents sent to the # client. The same rules about trailing "/" apply to ScriptAlias # directives as to Alias. ScriptAlias /cgi-bin/ "/var/www/localhost/cgi-bin/" </IfModule> # "/var/www/localhost/cgi-bin" should be changed to whatever your ScriptAliased # CGI directory exists, if you have that configured. <Directory "/home/page_url/www/"> AllowOverride None Options None Order allow,deny Allow from All </Directory> </VirtualHost>

Estoy usando Gentoo.

Cualquier ayuda sería apreciada.


Una cosa para recordar si las reglas de reescritura aún no funcionan:

¡También active el módulo ModRewrite! No es por defecto en Ubuntu.


<Directory "/home/page_url/www/"> AllowOverride None

Este AllowOverride None inhabilita la lectura de los archivos .htaccess . Ver el manual .

Además, tenga en cuenta que no hay nada mágico sobre los archivos .htaccess . Son una tosca solución para no tener acceso completo a la configuración del servidor. Todo lo que son es una pieza de configuración de Apache. Si tiene acceso completo a la configuración del servidor, debe poner cosas como esta en la configuración de vhost, no en archivos .htaccess .