代码之家  ›  专栏  ›  技术社区  ›  Thiago Belem

在cakephp上使用域作为“前缀”

  •  2
  • Thiago Belem  · 技术社区  · 15 年前

    假设我有一个运行cakephp的站点,前缀是“product”。

    我有很多带有网址的网页,比如:

    http://mysite.com/produt/blue-shirt/details
    http://mysite.com/produt/blue-shirt/order
    http://mysite.com/produt/skate/details
    http://mysite.com/produt/sun-glasses/vendors
    

    现在我需要使用像 http://mysite-blue-shirt.com/ 作为蓝色衬衫产品的“快捷方式”,我的网址将变为:

    http://mysite-blue-shirt.com/details
    http://mysite-blue-shirt.com/order
    

    我需要做什么?

    我想这就是 .htaccess 在网站的根目录上,在 app 目录。

    以下是当前语法:

    <IfModule mod_rewrite.c>
       RewriteEngine on
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.*) app/webroot/$1 [L]
    </IfModule>
    
    3 回复  |  直到 15 年前
        1
  •  1
  •   RabidFire    15 年前

    试试这个:

    <IfModule mod_rewrite.c>
       RewriteEngine on
    
       RewriteCond    %{HTTP_HOST} ^mysite-blue-shirt\.com
       RewriteCond    %{REQUEST_URI} !^/product/blue-shirt
       RewriteRule    ^(.*)$ app/webroot/product/blue-shirt/$1 [L]
    
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.*) app/webroot/$1 [L]
    </IfModule>
    

    第一行检查站点的名称。第二个检查它是否已经被重新写入蓝衬衫。最后一行进行重写。

        2
  •  1
  •   Mauro Zadunaisky    15 年前

    我认为您需要创建自己的自定义路由类。请检查: http://mark-story.com/posts/view/using-custom-route-classes-in-cakephp

        3
  •  0
  •   Leo    15 年前

    要让外界看到这一点,你需要注册mysite蓝色衬衫和所有其他变体。

    推荐文章