截至目前,我的所有控制器都映射如下:
http://example.com/index/index
http://example.com/index/services
http://example.com/index/contact
我想要做的是将URI的配置更改为:
http://example.com/index
http://example.com/services
http://example.com/contact
这是我的.htaccess
文件
# 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.* 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,L]
我的bootstrap.php
有以下内容:
Kohana::init(array(
'base_url' => '/',
'index_file' => FALSE
));
如何实现这一目标?
答案 0 :(得分:3)
您的.htaccess代码看起来很好。检查您的Apache配置是否正常: Kohana URL rewriting
此外,您需要编辑application / bootstrap.php并在那里设置初始化变量。
Kohana::init( array(
'base_url' => '/',
'index_file' => FALSE,
) );
您可能需要查看用户指南,有一个页面仅用于此设置。
http://kohanaframework.org/3.0/guide/kohana/tutorials/clean-urls
答案 1 :(得分:0)
我假设您在Controller_Index中使用action_index,action_services和action_contact。
如果是这样,您需要做的就是从路径中删除控制器部分(在bootstrap.php中)
Route::set('posttype', '<param>', array('action' => 'index|services|contact'))
->defaults(array(
'controller'=> 'index',
'action' => 'index'
));