2013-02-23 2 views
0

я нужен мой URLmod_rewrite довольно URL не остается

/crescenty/имя

для перенаправления

/crescenty/profile.php?player=

Я использовал этот код mod_rewrite

RewriteEngine on 
RewriteRule ^([a-z]+)$ /crescenty/$1/ [NC,R] 
RewriteRule ^([a-z]+)/$ /crescenty/profile.php?player=$1 [NC,R] 

Но есть небольшая проблема, URL не остается, он продолжал идти обратно в

/crescenty/profile.php?player= имя

Я попытался использовать код выше mod_rewrite с флагом на последней строке, [NC, L], то URL остается так, как я хочу, к которому

/crescenty/имя

но страница не отображается должным образом (CSS, кажется, не применяются)

, пожалуйста, помогите!

ответ

1

Возможно, это связано с тем, что ваши ссылки определены как относительно в текущем каталоге.

Когда вы переписываете URL-адрес, он имеет один более низкий уровень, чем исходный URL (/ crescenty/vs /crescenty/name/). Это означает, что ресурсы будут искать относительно второго уровня каталогов, который, конечно, не будет работать.

Измените URL-адреса ресурсов, чтобы использовать URL-адреса по отношению к веб корня, добавив ведущий слэш к вашим ссылкам.

Например, изменение < IMG HREF = "изображения/mying.jpg "/>, чтобы < IMG HREF =" /images/mying.jpg" /> (обратите внимание на ведущую косую черту).

+0

Но мне кажется, что если бы я это сделал, он работает для остальных, но теперь, когда моя главная страница не отображается правильно (127.0.0.1/crescenty/). – Crays

+1

Предлагаю вам изучить методы отладки сетевых ресурсов. Например, Firefox [Firebug плагин] (https://getfirebug.com/) имеет вкладку «Нет», где вы можете видеть все HTTP-запросы, которые сделаны на странице. Chrome и IE (из IE9, я считаю) также имеют сетевые вкладки из готовых наборов инструментов. В противном случае я могу порекомендовать хороший браузер-агностик-инструмент под названием [Fiddler] (https://fiddler2.com/fiddler2/). – kjetilh

+0

большое спасибо :) – Crays