在ubuntu的cakephp项目中,在此服务器上找不到请求的URL/users/login

在ubuntu的cakephp项目中,在此服务器上找不到请求的URL/users/login,ubuntu,cakephp,apache2,ubuntu-16.04,htdocs,Ubuntu,Cakephp,Apache2,Ubuntu 16.04,Htdocs,我用apache2在ubuntu服务器上上传了一个完整的cakephp项目 我的项目在我的locak服务器(xampp)中正常工作,但在服务器中显示此错误: 在此服务器上找不到请求的URL/用户/登录名 我的项目位于var/www/html 这是我的.htdocs文件: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ app/webroot/ [L] RewriteRule (.*) app/

我用apache2在ubuntu服务器上上传了一个完整的cakephp项目

我的项目在我的locak服务器(xampp)中正常工作,但在服务器中显示此错误:

在此服务器上找不到请求的URL/用户/登录名

我的项目位于
var/www/html

这是我的
.htdocs
文件:

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

重新启动发动机
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]

我需要一个合适的解决方案。

检查apache配置文件是否有“重写”模块行,并且是否未注释:

/etc/apache2/apache2.conf

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
还要确保您的覆盖和符号链接选项在上述apache配置中正确无误:

<Directory />
    Options FollowSymLinks
    AllowOverride All
#    Order deny,allow
#    Deny from all
</Directory>

选项如下符号链接
允许超越所有
#命令拒绝,允许
#全盘否定
根据您的cakephp版本,.htaccess应该如下所示

app/.htaccesCakePHP 2:

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

重新启动发动机
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]
/.htaccesCakePHP 3:

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

重新启动发动机
重写规则^$webroot/[L]
重写规则(.*)webroot/$1[L]
webroot/.htaccess两个版本:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]

检查apache配置文件是否有“重写”模块行,并且是否未注释:

/etc/apache2/apache2.conf

LoadModule rewrite_module libexec/apache2/mod_rewrite.so
还要确保您的覆盖和符号链接选项在上述apache配置中正确无误:

<Directory />
    Options FollowSymLinks
    AllowOverride All
#    Order deny,allow
#    Deny from all
</Directory>

选项如下符号链接
允许超越所有
#命令拒绝,允许
#全盘否定
根据您的cakephp版本,.htaccess应该如下所示

app/.htaccesCakePHP 2:

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

重新启动发动机
重写规则^$app/webroot/[L]
重写规则(*)app/webroot/$1[L]
/.htaccesCakePHP 3:

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

重新启动发动机
重写规则^$webroot/[L]
重写规则(.*)webroot/$1[L]
webroot/.htaccess两个版本:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

重新启动发动机
重写cond%{REQUEST_FILENAME}-F
重写规则^index.php[L]