首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带有CakePHP htaccess的通配符子域

问带有CakePHP htaccess的通配符子域
EN

Stack Overflow用户
提问于 2012-08-16 08:40:14
回答 1查看 870关注 0票数 1

我目前有一个CakePHP设置:Variable Prefixed Routing in CakePHP

已存在用于处理通配符子域的*.example.com和Apache项的DNS。不幸的是,我似乎无法将CakePHP的默认.htaccess与通配符子域代码合并。

以下是CakePHP默认的.htaccess代码:

代码语言:javascript
复制
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]

我想做的例子:example.com/controller/action/a -> example.com/global/controller/action/a (global是文字)

X.example.com/controller/action/a/b/c -> example.com/X/controller/action/a/b/c实质上是将X作为第一个“目录”,然后维护URL的其余部分。(X是任意字母数字字符串)

请注意,文件夹X肯定不存在,一旦被访问,它就会被重写为CakePHP to app/webroot。我不想修改CakePHP部件的行为,我只需要将上面的示例重写为访问该页面的“等价物”,然后它将由CakePHP的htaccess条目处理。

作为参考,app/webroot/.htaccess

代码语言:javascript
复制
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
EN

回答 1

Stack Overflow用户

发布于 2012-08-16 08:52:29

你是说像这样的东西吗?(将高于上面的应用程序/webroot规则):

代码语言:javascript
复制
RewriteCond %{HTTP_HOST} ^([a-z0-9]+)\.example\.com$ [NC]
RewriteRule ^controller/(.*)$ /%1/controller/$1 [L]

这应该首先应用,然后app/webroot规则应该生效,并将其指向:/app/webroot/%1/controller/$1。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11979201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档