我有一个使用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>
谢谢
答案 0 :(得分:2)
如果您按照所有说明安装CakePHP,则不带 /app/webroot
的网址也应该有效。如果它不起作用,请从CakePHP存储库重新下载所有.htaccess
文件。有三个文件。
要摆脱/app/webroot
,即永远不会在任何网址上看到该路径,您可以编辑或创建一个VirtualHost
,DocumentRoot
指向您的webroot的绝对路径。
这样的事情:
<VirtualHost 127.0.0.2:80>
DocumentRoot /absolute/path-to/app/webroot
</VirtualHost>
如果您在共享服务器上,则无法执行此操作。如果您使用的是托管VPS或专用服务器,则需要联系您的主机。如果它不受管理,你可以自己动手。