2011-05-26 149 views
0

我遇到了让我的重写规则发挥作用的问题。下面是我得到:CodeIgniter/MAMP Pro:将URI参数映射到默认控制器

的mysite:8888/- 作品,但抛出缺少的参数错误(预期)
的mysite:8888/MYVAR - 404错误
的mysite:8888/index.php文件/测试/索引/ MYVAR - 作品和显示MYVAR页(预期)
的mysite:8888 /测试/索引/ MYVAR - 404错误 的mysite:8888 /测试/ MYVAR - 404错误

我routes.php文件文件只包含:

$route['default_controller'] = "test"; 

config.php:

$config['base_url'] = 'http://mysite:8888/'; 
$config['index_page'] = ''; 
$config['uri_protocol'] = 'REQUEST_URI'; 
$config['url_suffix'] = ''; 

test.php的(控制器):

public function index($myVar){ 
    $data['myVar'] = $myVar; 
    $this->load->view('test', $myVar); 
} 

test.php的(视图):

<h1>Test page</h1> 
<p>Here's your variable: <?=$myVar?>.</p> 

,这里是我的.htaccess文件(甚至不知道我需要一个):

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php/$1 [L] 

目标是让这个网址:mysite:8888 /你好

生成此:“这是你的变量:你好。”

我错过了什么?

+0

你试过mysite:8888/test/myvar /? – Chumillas 2011-05-26 21:07:19

+0

我敢打赌,你的htaccess文件设置不正确 - 有道理看到,当你在url中使用index.php时,一切正常 – jpea 2011-05-27 04:35:48

+0

试试RewriteBase /在刚才在RewriteEngine下的htaccess文件中 – jpea 2011-05-27 04:42:42

回答

1

嗯,我想通了。事实证明,我已经正确设置了一切,但我的.htaccess文件中的文件标题告诉我的Mac它是一个富文本文档。我从我的Web服务器上拉下了一个可用的.htaccess文件,将重写规则粘贴到它中,然后宾果!它开始工作。感谢大家的建议。

0

我遇到了一些问题,重写我的Mac上的伎俩是增加对htaccess文件的顶部

选项+的FollowSymLinks

。希望这会有助于我忘记添加时禁止访问。

相关问题