从网址中删除“webroot”

时间:2015-02-13 10:41:19

标签: php .htaccess cakephp

这是我的项目结构:

htdocs
-abs (project)
    - apps
    -----admin
    -----pc
    -----client
    -----Common
    - webroot
    -----htaccess (1) (for pc)
    -----index.php (for pc)
    -----admin
    --------htaccess (2)
    --------index.php
    -----client
    --------htaccess (3)
    --------index.php

.htaccess(1)内容:

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

htaccess(2&amp; 3)内容:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

当我通过端口访问时:

  

http://localhost:8080/admin/

没关系。

但是当我不通过端口访问时:

  

http://localhost/abs/admin

重定向到

  

http://localhost/abs/根目录 /管理

我想删除&#39; webroot&#39;来自

  

http://localhost/abs/根目录 /管理

我该怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

不应该像

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

并使用cake routing创建管理URL,它与htaccess无关