На моем сервере, внутри моей папки 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 - это действительно то, что я хочу иметь.
.htaccess файл моей папки v3:
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>
.htaccess файл моей папки v3 / app:
<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>
.htaccess файл моей папки v3 / app / webroot:
# 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>