【问题标题】:Links are broken when installing CakePHP on shared hosting在共享主机上安装 CakePHP 时链接断开
【发布时间】:2013-02-02 14:49:07
【问题描述】:

我已经在共享主机上设置了 CakePHP,在一个子目录 (cakeDomain) 中。在根目录 (mainDomain) 中使用 htaccess,我将另一个域指向它 (cakeDomain),如下所示:

# /.htaccess
# cakeDomain redirect rules
RedirectMatch 301 ^/cakeDomain/$ http://cakeDomain.com/
# handle domain root and skip subfolders
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_URI} !^/cakeDomain/
RewriteCond %{REQUEST_URI} \..+$
RewriteRule ^(.*)$ cakeDomain/$1 [L]

# add trailing slash to subfolders (eg abc to: abc/)
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} [^/]$
RewriteRule ^(.*)$ $1/ [L,R=301]

# handle files in subfolders
RewriteCond %{HTTP_HOST} cakeDomain.com
RewriteCond %{REQUEST_URI} !^/cakeDomain/
RewriteRule ^(.*)$ cakeDomain/$1/ [L]

RewriteCond %{HTTP_HOST} www.mainDomain.com/cakeDomain/
RewriteRule %{HTTP_HOST} www.cakeDomain.com [L]

访问 mainDomain.com/cakeDomain 会正确地将您重定向到 cakeDomain.com

CakePHP 的文件是这样存储的:

/cakeDomain/app/...
/cakeDomain/lib/...
/cakeDomain/...
etc.

访问 cakeDomain.com 会显示正确的首页,但所有链接的前面都有安装目录:

cakeDomain.com/cakeDomain/controller/action/param1

代替:

cakeDomain.com/controller/action/param1

任何想法如何解决这个问题?

请注意,根据我的多次搜索,似乎很多人立即建议使用虚拟主机。这不是一个选项;我的主机一个虚拟主机。我认为这个解决方案需要 htaccess 和/或路由技巧。提前感谢您提供的任何帮助。

【问题讨论】:

    标签: .htaccess cakephp routing shared-hosting addon-domain


    【解决方案1】:

    基本上,您将网站 B(Cake)放在网站 A(主域)的公共网络目录中。

    我真的不鼓励你这样做,因为这样所有的“私有”CakePHP 目录也都在你的公共网络目录中(例如 cakeDomain/app/tmp/logs/error.log)。请正确检查这些位置是否得到妥善保护

    您是否有权访问公共网络脚“外部”的目录?

    话虽如此,这可能会有所帮助: http://cookingwithcakephp.blogspot.nl/2008/04/installing-cakephp-into-subdirectory.html

    【讨论】:

    • 感谢您的回答。我以前看过那个页面,但是没有用。我可以访问 public_html 上面的目录。那会有帮助吗?所以 CakePHP 目前安装在 /public_html/cakeDomain/
    • 好吧,至少你没有把你所有的“私有”代码放在你的 webroot 中。 “主”域上运行的是什么?只有几个 HTML 页面或一个 CakePHP 安装?
    • 没有。唯一的蛋糕安装在这个附加域上。
    猜你喜欢
    • 1970-01-01
    • 2011-01-21
    • 2018-08-05
    • 2013-07-05
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多