Переписать мой динамический URL в файле htaccess - PullRequest
1 голос
/ 11 января 2012

У меня проблема с переписыванием шаблона динамического URL в localhost.

вот мой URL: http://localhost/realtor/?module=property&action=popular-residential-buy, и я хочу, чтобы URL был http://localhost/realtor/property/popular-residential-buy

Iдо сих пор сделали в моем файле .htaccess:

Options +FollowSymLinks
RewriteEngine on
RewriteRule type (.*)-(.*)$ /?module=$1&action=$2

, но он не работает.

1 Ответ

2 голосов
/ 11 января 2012

Ваше существующее регулярное выражение поглощает слишком много вашего URL.В итоге вы получите что-то отличное от того, что вы хотите, в 1 и 2 долларах (вероятно, realtor/property/popular-residential в 1 долларе и просто buy в 2 долларах, из-за первого. * Жадно сопоставляет столько, сколько может, прежде чем вернуться к отслеживанию одного символачтобы найти совпадение).

Судя по предоставленному вами URL, ваше регулярное выражение должно выглядеть примерно так: ^realtor/([^/]*)/([^/]*)/?$.Это даст вам то, что вы хотите в $ 1 и $ 2, и это должно быть более быстрое регулярное выражение AFAIK.

В прошлом убедитесь, что RewriteEngine правильно настроен на вашем конкретном сервере.

  • Для Apache вам нужно включить mod_rewrite.Найдите в файле httpd.conf LoadModule rewrite_module modules/mod_rewrite.so и убедитесь, что он не закомментирован.
  • IIS - это большая банка червей - дайте мне знать, если вы используете это, и я напишу большеполный ответ.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...