我正在使用cakephp在Cakephp中开发我的网站,我想从应用程序URL中删除操作(或查看)名称,我该怎么办呢。 我的要求是我想最近添加参数代替视图名称我的网址如下:
“域名/ controllername /视图名称/参数1 / param2的”
但我需要
“域名/ controllername /参数1 / param2的”
我的.htaccess文件如下所示
根文件夹中的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ [L]
RewriteRule (.*) app/webroot/index.php/$1 [L]
</IfModule>
.htaccess在app文件夹中
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /liberty_new/app/
RewriteRule ^$ webroot/index.php/ [L]
RewriteRule (.*) webroot/index.php/$1 [L]
</IfModule>
webroot文件夹中的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine ON
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /$1 [QSA,L]
</IfModule>
答案 0 :(得分:1)
您可以在Config\routes.php
文件中执行此操作。设置Router
参数以根据需要编写URL。不要编辑你的htaccess文件,否则它会破坏CakePHP路由。
Router::connect('/:controller/:param1/:param2', array('action' => 'index'), array('param1' => '[a-zA-Z0-9]+', 'param2' => '[a-zA-Z0-9]+'));
这应该将所有请求者发送到任何控制器到该控制器的索引函数并传递参数1和2.当然,这可以大量定制。我强烈建议你阅读文档中的路由,除非必须,否则永远不要改变htaccess。
http://book.cakephp.org/2.0/en/development/routing.html#routes-configuration