2014-09-23 87 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類,方法在其中。

相關問題