HtmlHelper генерирует неправильный путь к папке css - PullRequest
0 голосов
/ 25 апреля 2019

На моем сервере, внутри моей папки 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>
...