(sub)域的mod_rewrite和cakephp的错误网址

时间:2012-02-13 17:17:46

标签: php apache .htaccess cakephp mod-rewrite

我正在托管我将域名重写到其文件夹的位置:

www.domain.com - >域/ domain.com /万维网

我在文档根

中使用了以下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。

1 个答案:

答案 0 :(得分:0)

HY,

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

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