mod_rewrite ... переименование URL-адресов и обеспечение их правильной работы - PullRequest
0 голосов
/ 30 сентября 2011

Вот URL, который у меня работает:

example.com / php / statePage.php? Region_slug = new-york-colleges

Вотто, что я пытаюсь, чтобы URL отображался как:

example.com / new-york-colleges.html

Я пробовал несколько вещей до сих пор, и ядумаю, я уже близко, но это мой первый сайт PHP / MySQL, и я впервые использую .htaccess.

Пока мой .htaccess:

RewriteEngine на

RewriteRule ^ / ([^ /.] +). Html? $ Php / statePage.php? Region_slug = $ 1 [L]

Любая помощь будет принята с благодарностью.Если бы вы могли объяснить, чего мне не хватало или что я сделал неправильно, это помогло бы мне больше ... Я пытаюсь научиться делать это, и просто дать мне метод вырезания и вставки поможет мне только сегодня.

СПАСИБО, это очень много значит для меня!

1 Ответ

1 голос
/ 30 сентября 2011
RewriteEngine on
RewriteRule ^([^/\.]+)\.html/?$ php/statePage.php?region_slug=$1 [L]

Две вещи, на которые следует обратить внимание:

Когда . используется в синтаксисе перезаписи, он представляет любой символ.Итак, ваше текущее правило гласит: замените все, что НЕ является каким-либо символом, за которым следует '.html' .Чтобы обойти это, избегайте своей точки, как это \..Есть несколько специальных символов в синтаксисе переписывания, таких как этот.Было бы полезно обратить на них внимание.

Во-вторых, я не уверен, является ли это каноном перезаписи или нет, но я никогда лично не использовал косые черты в началеправило переписывания ранее, и это может повлиять или не повлиять на само правило.Любой пользователь с разъяснениями по этому поводу предлагается ответить.

РЕДАКТИРОВАТЬ: Следующие символы помечены как специальные символы в синтаксисе перезаписи (и все регулярные выражения, в этом отношении), и какнапример, необходимо экранировать с помощью обратной косой черты \, чтобы использовать ее буквально - [\^$.|?*+()

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...