Если вы просто хотите, чтобы отправить дату в дружественном формате, это довольно просто Перенаправление:
# Untested example
RewriteEngine On
RewriteRule ^events/(\d{2})/(\d{2})/(\d{4})/.* events.php?date=$3-$2-$1
Однако mod_rewrite не будет делать магию. Невозможно получить 10
от 01/01/2011/summer-trip
.
Edit: Я предполагаю, что я не должен взять на себя вопрос буквально и дать некоторые подсказки. Если вы хотите, чтобы связать события дружеской строкой, вам нужно сделать несколько внутренних изменения:
Добавить новый столбец в таблицу событий в базе данных и сделать его уникальным (большинство СУБД позволяет создавать уникальные индексы). Эта новая колонка (назовем ее url_title
) проведет дружественную строку.
Откорректируйте свой PHP-скрипт так, чтобы он принимал url_title
как аргумент, а не цифровой.
И ваше правило mod_rewrite будет что-то вроде этого:
# Again, untested
RewriteEngine On
RewriteRule ^events/\d{2}/\d{2}/\d{4}/([^/]+)/?$ events.php?url_title=$1 [L]
Спасибо, что помогли мне, у меня есть код, который также может сделать то же самое, что вы, ребята, только что объяснили ранее. Мой код: RewriteRule^events/([0-9 _-] +)/([a-zA-Z0-9 _-] +) $ evnts.php? Edate = $ 1 & ename = $ 2 Моя подпись здесь, я используя smarty, и это изменит мой javascript и CSS-путь. Всякая идея, Что я делаю неправильно здесь !? – Nuhman
@Nuhman, это совершенно другая тема.Если вы используете относительные пути, вы не можете свободно перемещать документы. Вместо этого используйте абсолютные пути. –