【发布时间】:2011-12-21 09:55:05
【问题描述】:
我正在尝试重写 CodeIgniter 应用程序的 URL,但它似乎不起作用。 我设置了以下内容;
$route['pages/(:num)/(:any)'] = "pages/view/$1/$2";
$config['index_page'] = '';
然后我有以下.htaccess;
RewriteEngine on
RewriteBase /
RewriteRule ^pages/(.*)/(.*)$ /index.php/pages/view/$1/$2 [L]
它只是说找不到页面(Apache 错误,而不是 CodeIgniter)。 它在我浏览到原始链接 (http://domain.tld/index.php/pages/view/1/welcome) 时有效,但在浏览到“所需”链接 (http://domain.tld/pages) 时无效/1/欢迎)。
我做错了什么?
【问题讨论】:
-
我认为你需要有 htaccess 才能从 url 中删除 index.php,它应该可以工作
-
不完全是,它不仅删除了'index.php',还删除了方法的名称;查看。
-
您是否检查过 apache 日志以了解 apache 将其重写为什么?此外,您可能需要 1 美元的非贪婪版本匹配,即
^pages/(.*?)/(.*)$ -
我不想听起来太笨,但显然我的服务器还不支持 htaccess,我更改了 apache vhost,现在它正在做一些调整。
标签: php .htaccess codeigniter