如何在1and1共享主机上为Cake 2.3.x配置htaccess文件

ang*_*cho 5 regex apache .htaccess mod-rewrite cakephp

对不起,我做了很多搜索,但没有找到解决问题的方法.

当我想在子文件夹中安装我的Cakephp应用程序时,使用默认的cakephp htaccess文件设置将无法在我的域上运行,而所有内容都适用于localhost(xampp)

target => http://mydomain.com/mycakeapp

安装需要3个htaccess文件:

root .htaccess

    #.htaccess in root
    
       RewriteEngine on
       RewriteBase  /mycakeapp
       RewriteRule    ^$ app/webroot/    [L]
       RewriteRule    (.) app/webroot/$1 [L]
    
    
在应用程序.htaccess
        
            RewriteEngine on
            RewriteBase /mycakeapp
            RewriteRule    ^$   app/webroot/    [L]
            RewriteRule    (.)  app/ webroot/$1    [L]
        
    
在webroot .htaccess中
        
            RewriteEngine On
            RewriteBase /mycakeapp
            RewriteCond %{REQUEST_FILENAME} !-d
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        
    
在cakephp文档和使用这些htaccess文件之后,我得到了error500结果.使用RewriteBase /而不是/ mycakeapp会抛出404错误页面.

php是5.4版本如何解决这个问题?非常感谢您的帮助 !问候

ecl*_*ude 6

/ dirCakePhp

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ /app/webroot/ [L]
    RewriteRule (.*) /app/webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

/ direCakePhp /应用

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ /webroot/ [L]
    RewriteRule (.*) /webroot/$1 [L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

/ direCakePhp /应用程序/根目录

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ /index.php?url=$1 [QSA,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

Juste在RewriteRule之后添加'/',

并将1and1主机面板中的PHP版本更改为=> 5.2添加date_default_timezone_set('Europe/Paris'); 在core.php中


anu*_*ava 4

像这样设置你的规则:

DOCUMENT_ROOT 中的 .htaccess

RewriteEngine on
RewriteBase /
RewriteRule (.*) mycakeapp/$1 [L]
Run Code Online (Sandbox Code Playgroud)

DOCUMENT_ROOT/mycakeapp 中的 .htaccess

RewriteEngine on
RewriteBase /mycakeapp/
RewriteRule (.*) app/webroot/$1 [L]
Run Code Online (Sandbox Code Playgroud)

.htaccess 在 DOCUMENT_ROOT/mycakeapp/app 中

RewriteEngine on
RewriteBase /mycakeapp/app/
RewriteRule (.*) webroot/$1 [L]
Run Code Online (Sandbox Code Playgroud)

.htaccess 位于 DOCUMENT_ROOT/mycakeapp/app/webroot

RewriteEngine On
RewriteBase /mycakeapp/app/webroot/

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
Run Code Online (Sandbox Code Playgroud)