使用.htaccess mod rewrite从url中删除dir名称

时间:2014-06-23 17:48:43

标签: php .htaccess codeigniter mod-rewrite

我正在开发一个codeigniter项目,我有以下网址:

  

mysite的/项目/前端/比赛/表

我想把它变成:

  

mysite / Project / tournaments / table

我应该写什么.htaccess ?? 这就是我已经拥有的:

RewriteEngine on

#Send request via index.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]

2 个答案:

答案 0 :(得分:0)

你试过吗?

 RewriteRule ^mysite/Project/frontend/tournaments/table/([^/]*)$ mysite/Project/tournaments/table/$1

简单重写规则将解决您的问题我认为

答案 1 :(得分:0)

所以,这就是我使用CodeIgniter路由功能的方法:

假设锦标赛是你的控制者。

//Example: mysite/Project/tournaments/2332
// Will accepts numbers or letters
$route['Project/(:any)/(:any)'] = 'Project/frontend/$1/$2';


//Example: mysite/Project/tournaments/table
// Will accepts only letters.

$route['Project/([a-z_]+)/([a-z_]+)'] = 'Project/frontend/$1/$2';

您可以为管理网址添加其他路由规则,如下所示:

//Example: Project/admin/users/add
// You can use either (:any) or ([a-z_]+)
$route['Project/admin/(:any)/(:any)'] = 'Project/admin/$1/$2';

我建议你阅读Routing documentation,它在开头有点tediuos,但它会帮助你很多!