【发布时间】:2016-04-16 23:25:00
【问题描述】:
我在同一个服务上运行一个网站和一个 CakePHP 服务器。 CakePHP 位于一个子目录中。我希望 URL http://www.example.com 指向我在根目录中的 index.html,http://www.example.com/app 重定向到 CakePHP webroot。
这些是我当前的 .htaccess 文件
在 var/www/html:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
在 var/www/html/app 中:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ /webroot/ [L]
RewriteRule (.*) /webroot/$1 [L]
</IfModule>
在 var/www/html/app/webroot 中:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
编辑
问题是我将如何设置我的 htaccess,以便我可以使用 URL http://www.example.com/app 访问我的 CakePHP webroot,但如果我使用 URL http://www.example.com,则在索引 var/www/html 上。使用我当前的 htaccess,它将两个 URL 都重定向到 CakePHP webroot。
谢谢
【问题讨论】:
-
我有点迷茫,你有什么问题?
-
抱歉不清楚。问题是我将如何设置我的 htaccess,以便我可以使用 URL example.com/app 访问我的 CakePHP webroot,但如果我使用 URL example.com,则在索引 var/www/html 上。使用我当前的 htaccess,它将两个 URL 都重定向到 CakePHP webroot。
-
您的 CakePHP 根目录在哪个目录中?
-
CakePHP 位于 /var/www/html 上的 app 文件夹中。里面还有一个index.html。
-
您描述的方式非常令人困惑-不清楚(是的,我已经阅读了问题)您是否已将应用程序放入域中根目录 (
/var/www/html) 或子文件夹中(例如,/var/www/html/app/app/webroot存在)。 “app”出现在 url 中是不正常的。也不清楚您使用的是什么版本的 CakePHP,因为它与 3.x 不匹配我可以猜到您使用的是 2.x - 但我不需要猜测。请澄清您的问题。
标签: php .htaccess cakephp redirect