在我的服务器上,www
文件夹中,
我的网站是用CakePHP
制作的,它的工作原理就像是一种魅力。
在此www
文件夹中,我还有一个名为v3
的文件夹,这是我网站的新版本。我想用自己喜欢的浏览器测试我的网站,所以我输入了mysite.com/v3
,它运行良好。
但是,当我单击诸如mysite.com/v3/news
之类的链接时,控制台中出现很多错误404,表明找不到css
文件。
查看生成的代码后,我发现HtmlHelper
生成了错误的css文件夹路径。对于我上面的示例,它生成news/css/style.css
而不是css/style.css
。
我试图uncomment
v3/Config/core.php
文件中的以下行:
Configure::write('App.baseUrl', env('SCRIPT_NAME'));
再没有问题了。但是,URL重写确实是我想要的。
我的v3文件夹的.htaccess文件:
Options -Indexes
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /v3
# Uncomment if you have a .well-known directory in the root folder, e.g. for the Let's Encrypt challenge
# https://tools.ietf.org/html/rfc5785
#RewriteRule ^(\.well-known/.*)$ $1 [L]
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
</IfModule>
我的v3 / app文件夹的.htaccess文件:
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase /v3
# Uncomment if you have a .well-known directory in the app folder, e.g. for the Let's Encrypt challenge
# https://tools.ietf.org/html/rfc5785
#RewriteRule ^(\.well-known/.*)$ $1 [L]
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
</IfModule>
我的v3 / app / webroot文件夹的.htaccess文件:
# Uncomment the following to prevent the httpoxy vulnerability
# See: https://httpoxy.org/
#<IfModule mod_headers.c>
# RequestHeader unset Proxy
#</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /v3
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
</IfModule>