0

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

http://example.com/site1

转换为:

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

正如我在这里搜索和看到的或在堆栈溢出中搜索的那样,这是正常行为,但我希望用户实际上看不到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>

谢谢

4

1 回答 1

2

如果您按照所有说明安装 CakePHP,那么没有 /app/webrootURL也应该可以工作。如果它不起作用,请.htaccess从 CakePHP 存储库重新下载所有文件。共有三个文件。

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

像这样的东西:

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

如果您在共享服务器上,这是不可能的。如果您在托管 VPS 或专用服务器上,则需要联系您的主机。如果它是不受管理的,你可以自己做。

于 2012-09-09T13:56:40.893 回答