У меня есть сервер под управлением Ubuntu 17.04 с тремя IPv4-адресами и блоком / 64 IPv6, а также / etc / network / interfaces
, который был предварительно установлен моим провайдером, имеет только up ip-адрес add ... / 32 dev eth0
для двух дополнительных IPv4-адресов, но не down ip-адрес del ... / 32 dev eth0
как я обычно вижу в конфигах.
RewriteRule ^ (. *) / ExcpelFileexperpelFile.php? Data = $ 1 [L], и моя проблема в том, что страница не загружает мой файл css и js.
Кажется, сама php-страница ...
Я использую этот код:
RewriteEngine on
RewriteRule ^(.*)/exampelFile exampelFile.php?data=$1 [L]
, и моя проблема в том, что страница не загружает мой файл css и js. Кажется, что сама php-страница загружается из
www.example.com/some text/exampelFile...
вместо
www.example.com/exampelFile?data=some text...
, и поэтому она не находит файлы css и js
Это связано с тем, что ваше правило перезаписи выполняет только внутреннюю перезапись и не перенаправляет браузер на этот URL-адрес. Следовательно, браузер все еще находится на странице www.example.com/some_text/exampelFile
; все относительные ссылки и местоположения в HTML вашего instancepelFile.php
относятся к этому местоположению, а не к фактическому местоположению файла, поскольку они получены браузером.
Вы можете предотвратить это, сделав это перенаправление с RewriteRule
флагом R
:
'redirect | R [= code]'
(принудительное перенаправление)Подстановка префикса с
http: // thishost [: thisport] /
(что делает новый URL-адрес URI), чтобы внешнее перенаправление. Если код не указан, ответ HTTP302
(ВРЕМЕННО ПЕРЕМЕЩЕНА).
Результат:
RewriteEngine on
RewriteRule ^(.*)/exampelFile /exampelFile.php?data=$1 [L,R=301]