【问题标题】:Kohana The requested URL /home was not found on this serverKohana 在此服务器上找不到请求的 URL /home
【发布时间】:2014-11-18 04:12:00
【问题描述】:

我从使用 Kohana 应用程序运行 php 的红帽 apache 环境中收到此错误。此应用程序是从它运行的 wamp 安装迁移而来的。

目前,如果我点击以下 URL,我会收到 404 错误

http://server/home

但是如果我点击这个页面就会呈现

http://server/index.php/home

我认为这与我的 .htaccess 文件有关,但我一直无法解决问题。

以下是在我的应用程序所在的 apache/htdocs 中找到的 .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] 

以下是在 apache/htdocs/MyApp 中的应用程序中找到的 .htaccess 文件

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]
~

有人推荐吗?我将 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>

【问题讨论】:

  • 您在第一个 htaccess 文件中遗漏了什么?没有任何规则
  • 其他所有内容现在都被注释掉了……应该有规则吗?
  • 好吧,文件什么都不做,里面没有规则。
  • 好的。里面应该有什么规则?
  • Apache 模块 mod_rewrite 工作吗?

标签: php apache .htaccess kohana kohana-3.3


【解决方案1】:

您的 .htaccess 文件没有问题。我有几个带有这个确切 .htaccess 代码的 Kohana 应用程序。

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

【讨论】:

  • 所以我的 apache httpd.conf 最后有 RewriteEngine On 。我只是取消了以下行的注释,但问题仍然存在 'LoadModule rewrite_module modules/mod_rewrite.so'
  • 在您的一个页面上调用 phpinfo() 并查看是否列出了重写模块
  • 是的,这是我先检查的。
【解决方案2】:

请试试这个.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]

【讨论】:

    【解决方案3】:

    问题是 apache httpd.conf 配置不正确 包含 Web 应用程序的目录需要以下内容。

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

    【讨论】:

      【解决方案4】:

      就我而言,我只是在 apache 上启用了 mod_rewrite。

       sudo a2enmod rewrite 
      

      然后重启

      sudo systemctl restart apache2
      

      检查 .htaccess 规则。

      并确保你有 Controller_Welcome 类和方法。

      【讨论】:

        猜你喜欢
        • 2018-05-28
        • 2014-03-26
        • 2021-04-11
        • 1970-01-01
        • 2017-03-21
        • 2010-10-16
        • 1970-01-01
        • 2018-11-05
        • 2017-12-26
        相关资源
        最近更新 更多