【问题标题】:mod_rewrite for (sub)domains and cakephp's wrong urls(子)域的 mod_rewrite 和 cakephp 的错误 url
【发布时间】:2012-02-13 17:17:46
【问题描述】:

我正在托管我正在将我的域重写到他们的文件夹:

www.domain.com -> 域/domain.com/www

我在文档根目录中使用以下 htaccess

Options +FollowSymLinks +Indexes
RewriteEngine On 

# www->non-www
RewriteCond %{HTTP_HOST} ^www\.([a-z0-9-.]+)$ [NC]
RewriteRule (.*) http://%1/$1 [R=301,QSA,L]

# www
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.([a-z]+)$ [NC]
RewriteCond $0 !^domains/
RewriteRule (.*) /domains/%1.%2/www/$1 [L]

#non-www
RewriteCond %{HTTP_HOST} ^([a-z0-9-]+)\.([a-z0-9-]+)\.([a-z]+)$ [NC]
RewriteCond $0 !^domains/
RewriteRule (.*) /domains/%2.%3/%1/$1 [L]

一切正常,但蛋糕会创建错误(丑陋)的网址。它有效,但是......

在 domain.com 上运行的 cakephp 2.0 包含 $this->Html->link("/controller");。它会创建指向 /domains/domain.com/www/controller 而不是 /controller 的链接。

【问题讨论】:

    标签: php apache .htaccess cakephp mod-rewrite


    【解决方案1】:

    喂,

    使用 app/config 中的 routes.php 这是蛋糕htaccess。如果你使用 htaccess 和 routes.php 你会重写你的链接两次我认为......

    例如:

        Router::connect('/', array('controller' => 'your_controller', 'action' => 'your_actiom'));
    

    你可以像 htaccess 一样配置你的路由 该路线的路径:

        http://your_domain.com/controller/action
    

    您还可以在路线中添加参数(用于编辑或其他)

    Here you have all routes manual

    如果您还有其他问题,请继续!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-15
      • 2013-12-02
      • 1970-01-01
      • 1970-01-01
      • 2012-05-13
      • 2012-05-28
      • 2012-01-22
      相关资源
      最近更新 更多