2014-09-23 89 views
0

我从一个运行php和Kohana应用程序的红帽apache环境中得到这个错误。这个应用程序是从它正在运行的wamp安装迁移而来的。Kohana在这台服务器上找不到请求的URL/home

目前,如果我打下面的网址,我得到一个404错误

http://server/home 

但如果我打这个页面呈现

http://server/index.php/home 

我想这与我的.htaccess文件做,但我一直无法解决这个问题。

下面是我的应用程序驻留

# Options +Indexes +FollowSymLinks 

# Turn on URL rewriting 
RewriteEngine On 

# Installation directory 

# production site is /commerical_production/kohana 
# production resite site is below 
# RewriteBase /commerical_production/kohana/ 
# RewriteBase /wedding/kohana/ 
RewriteBase/




# production site is /commerical_production/kohana/index.php/demo 
# DirectoryIndex /commerical_production/kohana/index.php/demo 
#DirectoryIndex /hiton/kohana/index.php/welcome 
# DirectoryIndex /wedding/kohana/index.php/home 


# 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) - [F,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/$1 [PT] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 


#RewriteCond %{HTTP_HOST} ^www\.trinity.localhost\.com [NC] 
#RewriteRule ^(.*)$ index.php?lang=it [NC,QSA] 
#RewriteCond %{HTTP_HOST} ^www\.hilton.localhost\.com [NC] 
#RewriteRule ^(.*)$ index.php?lang=en [NC,QSA] 

下面是.htaccess文件中的Apache/htdocs中/ MyApp的

RewriteEngine On 

# Installation directory 
RewriteBase/

# Protect hidden files from being viewed 
<Files .*> 
     Order Deny,Allow 
     Allow from all 
</Files> 

# Protect application and system files from being viewed 
RewriteRule ^(?:application|modules|system)\b.* index.php/$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] 
~ 

不会在应用程序中发现的Apache/htdocs中发现.htaccess文件任何人都有推荐?我有bootstrap.php中设置为

Kohana::init(array(
     'base_url' => '/', 
     'index_file' => FALSE, 
)); 



Route::set('default', '(<controller>(/<action>(/<id>)))') 
     ->defaults(array(
       'controller' => 'welcome', 
       'action'  => 'index', 
     )); 

Apache的httpd.conf

LoadModule authn_file_module modules/mod_authn_file.so 
#LoadModule authn_dbm_module modules/mod_authn_dbm.so 
#LoadModule authn_anon_module modules/mod_authn_anon.so 
#LoadModule authn_dbd_module modules/mod_authn_dbd.so 
#LoadModule authn_socache_module modules/mod_authn_socache.so 
LoadModule authn_core_module modules/mod_authn_core.so 
LoadModule authz_host_module modules/mod_authz_host.so 
LoadModule authz_groupfile_module modules/mod_authz_groupfile.so 
LoadModule authz_user_module modules/mod_authz_user.so 
#LoadModule authz_dbm_module modules/mod_authz_dbm.so 
#LoadModule authz_owner_module modules/mod_authz_owner.so 
#LoadModule authz_dbd_module modules/mod_authz_dbd.so 
LoadModule authz_core_module modules/mod_authz_core.so 
LoadModule access_compat_module modules/mod_access_compat.so 
LoadModule auth_basic_module modules/mod_auth_basic.so 
#LoadModule auth_form_module modules/mod_auth_form.so 
#LoadModule auth_digest_module modules/mod_auth_digest.so 
#LoadModule allowmethods_module modules/mod_allowmethods.so 
#LoadModule file_cache_module modules/mod_file_cache.so 
#LoadModule cache_module modules/mod_cache.so 
#LoadModule cache_disk_module modules/mod_cache_disk.so 
#LoadModule cache_socache_module modules/mod_cache_socache.so 
#LoadModule socache_shmcb_module modules/mod_socache_shmcb.so 
#LoadModule socache_dbm_module modules/mod_socache_dbm.so 
#LoadModule socache_memcache_module modules/mod_socache_memcache.so 
#LoadModule macro_module modules/mod_macro.so 
#LoadModule dbd_module modules/mod_dbd.so 
#LoadModule dumpio_module modules/mod_dumpio.so 
#LoadModule buffer_module modules/mod_buffer.so 
#LoadModule ratelimit_module modules/mod_ratelimit.so 
LoadModule reqtimeout_module modules/mod_reqtimeout.so 
#LoadModule ext_filter_module modules/mod_ext_filter.so 
#LoadModule request_module modules/mod_request.so 
#LoadModule include_module modules/mod_include.so 
LoadModule filter_module modules/mod_filter.so 
#LoadModule substitute_module modules/mod_substitute.so 
#LoadModule sed_module modules/mod_sed.so 
LoadModule mime_module modules/mod_mime.so 
LoadModule log_config_module modules/mod_log_config.so 
#LoadModule log_debug_module modules/mod_log_debug.so 
#LoadModule logio_module modules/mod_logio.so 
LoadModule env_module modules/mod_env.so 
#LoadModule expires_module modules/mod_expires.so 
LoadModule headers_module modules/mod_headers.so 
#LoadModule unique_id_module modules/mod_unique_id.so 
LoadModule setenvif_module modules/mod_setenvif.so 
LoadModule version_module modules/mod_version.so 
#LoadModule remoteip_module modules/mod_remoteip.so 
#LoadModule proxy_module modules/mod_proxy.so 
#LoadModule proxy_connect_module modules/mod_proxy_connect.so 
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so 
#LoadModule proxy_http_module modules/mod_proxy_http.so 
#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so 
#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so 
#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so 
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so 
#LoadModule proxy_express_module modules/mod_proxy_express.so 
#LoadModule session_module modules/mod_session.so 
#LoadModule session_cookie_module modules/mod_session_cookie.so 
#LoadModule session_dbd_module modules/mod_session_dbd.so 
#LoadModule slotmem_shm_module modules/mod_slotmem_shm.so 
#LoadModule lbmethod_byrequests_module modules/mod_lbmethod_byrequests.so 
#LoadModule lbmethod_bytraffic_module modules/mod_lbmethod_bytraffic.so 
#LoadModule lbmethod_bybusyness_module modules/mod_lbmethod_bybusyness.so 
#LoadModule lbmethod_heartbeat_module modules/mod_lbmethod_heartbeat.so 
LoadModule unixd_module modules/mod_unixd.so 
#LoadModule dav_module modules/mod_dav.so 
LoadModule status_module modules/mod_status.so 
LoadModule autoindex_module modules/mod_autoindex.so 
#LoadModule info_module modules/mod_info.so 
#LoadModule cgid_module modules/mod_cgid.so 
#LoadModule dav_fs_module modules/mod_dav_fs.so 
#LoadModule vhost_alias_module modules/mod_vhost_alias.so 
#LoadModule negotiation_module modules/mod_negotiation.so 
LoadModule dir_module modules/mod_dir.so 
#LoadModule actions_module modules/mod_actions.so 
#LoadModule speling_module modules/mod_speling.so 
#LoadModule userdir_module modules/mod_userdir.so 
LoadModule alias_module modules/mod_alias.so 
LoadModule rewrite_module modules/mod_rewrite.so 
LoadModule php5_module  modules/libphp5.so 



<IfModule mod_rewrite> 
    RewriteEngine On 
</IfModule> 
+0

你错过了第一个htaccess文件中的东西?没有任何规则 – 2014-09-23 20:21:17

+0

其他所有内容现在都被注释掉了......应该有规则吗? – user3032973 2014-09-23 20:22:36

+0

那么,文件什么都不做,没有规则。 – 2014-09-23 20:29:09

回答

0

的问题是Apache的httpd.conf没有正确 将含有Web应用程序所需的下列目录配置。

<Directory "/www/"> 
Options All 
AllowOverride All 
Require all granted 
</Directory> 
2

.htaccess文件是好的,因为它是。我有几个Kohana应用程序与这个确切的.htaccess代码。

您是否检查过您的Red Hat Apache已启用mod_rewrite模块?

+0

所以我的apache httpd.conf有 RewriteEngine在 最后。我刚刚取消注释了以下行,但问题仍然存在'LoadModule rewrite_module modules/mod_rewrite.so' – user3032973 2014-09-26 18:26:25

+1

在其中一个页面上放置一个phpinfo()调用,查看是否列出了重写模块 – ljelewis 2014-09-28 01:48:42

+0

这是,我有先检查。 – user3032973 2014-09-29 13:13:40

1

请试试这个的.htaccess

RewriteEngine On 

# 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,L] 
+0

不幸的是,结果相同的行为.. – user3032973 2014-09-29 15:40:08

0

在我的情况下,我只是在apache启用mod_rewrite。

sudo a2enmod rewrite 

,比重启

sudo systemctl restart apache2 

检查的.htaccess规则。

并确保您有Controller_Welcome类,方法在其中。

相关问题