蛋糕PHP中的重定向,隐藏app / webroot位

时间:2012-09-07 05:57:31

标签: .htaccess cakephp

我有一个使用cakePHP完成的网站,我可以访问那里的网站:

http://example.com/site1

转换为:

http://example.com/app/webroot/site1

当我搜索并查看here或在堆栈溢出中搜索这是正常行为但我希望用户实际上看不到 app / webroot 位。

这可能吗?

这是我目前的.htaccess:

<IfModule mod_rewrite.c>
   RewriteEngine on
   RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
   RewriteCond %{HTTP_HOST} !^$
   RewriteRule ^/?(.*) http://www.example.com/$1 [R=301,NE,L]

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

谢谢

1 个答案:

答案 0 :(得分:2)

如果您按照所有说明安装CakePHP,则不带 /app/webroot的网址也应该有效。如果它不起作用,请从CakePHP存储库重新下载所有.htaccess文件。有三个文件。

要摆脱/app/webroot,即永远不会在任何网址上看到该路径,您可以编辑或创建一个VirtualHostDocumentRoot指向您的webroot的绝对路径。

这样的事情:

<VirtualHost 127.0.0.2:80>
    DocumentRoot /absolute/path-to/app/webroot
</VirtualHost>

如果您在共享服务器上,则无法执行此操作。如果您使用的是托管VPS或专用服务器,则需要联系您的主机。如果它不受管理,你可以自己动手。