我知道这个问题已经有几个问题了。我已经浏览过它们,不能让任何提议的解决方案对我有用......也许有人可以帮我解决我的具体问题?
我的app / webroot中有一个包含index.html和相关文件的文件夹parallax。这可以在/ parallax /中正常访问。但是,如果我尝试在/ parallax访问它,我会被重定向到/ app / webroot / parallax /,理想情况下我想抑制这种行为。
将整个事物重构为CakePHP控制器动作并不是我想要进入的理想事项(尽管它可能比我预期的更简单,请告诉我)。路由文件并不是我所知道允许路由到app / webroot中的文件。
另一个调用端口似乎是.htaccess文件。我尝试添加重写规则:
RewritRule ^parallax$ parallax/index.html
或其中的变体,但我能得到的最好的是一个图像损坏的页面(无论我最终如何,它似乎都无法在视差/图像子文件夹中找到图像)
任何人都可以清理我的困惑并帮助我找到/ parallax的最佳路径,并给出与/ parallax /相同的结果吗?
答案 0 :(得分:1)
请在根目录中尝试以下.htaccess代码,而不是在app目录中。
<IfModule mod_rewrite.c>
RewriteEngine on
Rewriterule ^parallax/.*$ - [PT]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
这应该对你有所帮助。 .htaccess规则将跳过以视差开始请求的内容。剩下的事情将按原样运作。
答案 1 :(得分:1)
.htaccess root感谢Anh Pham对此链接的完美运作http://www.balistupa.com/blog/2010/08/how-to-redirect-appwebrootblog-into-blog-wordpress-cakephp/
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_URI} !^/foldername.*
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^$ app/webroot/ [L]
RewriteCond %{REQUEST_URI} !^/foldername.*
RewriteCond %{REQUEST_URI} !-d
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
答案 2 :(得分:0)
我试图重现这种情况,但它对我来说是正确的。我正在使用cakePhp 1.3并且两个网址都将我发送到index.html:
http://localhost:5013/parallax/
http://localhost:5013/parallax
我的猜测是你的.htaccess(位于/ app / webroot /的那个)有些奇怪。我的是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
</IfModule>
基本上,它告诉服务器如果请求的url不是文件(!-f),也不是目录(!-d),它会将整个url重定向为/webroot/index.php的参数,所以cakephp将解析url并调用控制器以及所有这些..
希望这有帮助
答案 3 :(得分:0)
您应该能够在app / webroot文件夹中放置带有静态index.html的parallax文件夹,并且默认情况下可以在/ parallax / url中访问它。
如果您使用相对路径,您甚至可以将img / css用于该文件夹的本地页面,并完全跳过通常的cakephp路径。不需要htaccess。