2012-04-07 3 views
0

Я полный новичок в mod_rewrite, и я просматривал некоторые сайты, читающие, как справиться с этим, все, что я мог найти, было тогда, когда переменная get была числом и ничего не содержит строк, и получается моя голова.mod_rewrite для полей имен

То, что я хочу сделать, это переписать display.php?name=blahblah123 в display/blahblah123

вместе с ответом, я хотел бы несколько сайтов, где я могу построить некоторое понимание через mod_rewrite себя.

Благодаря

Edit:

С большим количеством поиска, я пришел с этим

RewriteEngine On 
RewriteBase/

RewriteRule ^display/([a-z]+)$ display.php?name=$1 [L] 

Вышеприведенная работы кода, но по какой-то причине, страница я не CSS. В CSS, который я вижу, показаны CSS-страница Hostgator на 404 страницы. Но HTML выглядит отлично, так же как и контент, и все остальное. Есть идеи?

ответ

1

Просто чтобы быть ясно, mod_rewrite является то, что происходит внутри в апача. Я считаю, что иногда люди не понимают, что они делают и чего не делают. Он не будет принимать URL, который вы выводите и изменить его с

display.php?name=blahblah123 

на дисплей/blahblah123

Это, однако, позволить кому-то, чтобы сделать запрос с вашего сайта для отображения/blahblah123 и преобразовать его в display.php? name = blahblah123, так что ваш скрипт display.php может работать на нем.

Правила перезаписи требуют понимания регулярных выражений. Чем лучше вы понимаете регулярное выражение, тем легче будет mod_rewrite для вас.

Как новичок в этой статье поможет: http://www.sitepoint.com/guide-url-rewriting/

Для вашего конкретного вопроса, я бы, вероятно, использовать:

RewriteRule ^display/([a-zA-Z0-9]+)$ /display.php?name=$1 
1

Попробуйте поставить «/» перед именем файла css.

<link rel=".." href="/style.css". 

вместо

<link rel=".." href="style.css". 
Смежные вопросы