【问题标题】:Remove action name from Url in cakephp? [duplicate]从 cakephp 中的 Url 中删除动作名称? [复制]
【发布时间】:2012-12-13 18:03:31
【问题描述】:

可能重复:
How to remove action name from url in cakephp?

我正在使用 cakephp 在 Cakephp 中开发我的网站,我想从应用程序 URL 中删除操作(或视图)名称,我应该怎么做。 我的要求是我想添加参数来代替视图名称最近我的 URL 是这样的:

“域名/控制器名/视图名/param1/param2”

但我需要

“域名/控制器名/param1/param2”

我的 .htaccess 文件如下所示

.htaccess 在根目录

<IfModule mod_rewrite.c>
   RewriteEngine on 
   RewriteRule    ^$     [L]
   RewriteRule    (.*) app/webroot/index.php/$1 [L]
</IfModule>

应用文件夹中的.htaccess

 <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>

【问题讨论】:

    标签: php .htaccess cakephp


    【解决方案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

    【讨论】:

    • 我需要删除 router::connect('/',array('controller'=>'page','action'=>'display')); router::connect('/page/*',array('controller'=>'page','action'=>'display'));形成 router.php
    • 不确定您在“我是否需要删除”中要求的内容,但请阅读文档。它准确地解释了如何做你想做的事情。
    • 我需要删除 router::connect('/',array('controller'=>'page','action'=>'display')); router::connect('/page/*',array('controller'=>'page','action'=>'display'));形成 router.php
    • 如果您使用页面控制器并且您不希望应用程序使用这些路由,那么可以。您可以设置无限数量的路由规则。 CakePHP 将使用它首先匹配的 URL 路由,因此如果您使用我的规则和您列出的 pages 规则,并且 url 是 /pages/test/test,那么它将使用 pages 路由。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-15
    • 1970-01-01
    • 1970-01-01
    • 2013-07-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多