Я использую этот код:
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 вашего exampelFile.php
относятся к этому местоположению, а не к фактическому местоположению файла, поскольку они получены браузером.
Вы можете предотвратить это, сделав перенаправление с помощью RewriteRule
с флаг R
:
'redirect|R [=code]'
(принудительное перенаправление)Замена префикса на
http://thishost[:thisport]/
(что делает новый URL-адрес URI) для принудительного внешнего перенаправления. Если код не указан, HTTP-ответ302
(ПЕРЕМЕЩЕНА ВРЕМЕННО) будет возвращен.
Результат:
RewriteEngine on
RewriteRule ^(.*)/exampelFile /exampelFile.php?data=$1 [L,R=301]