URL переписать - простой вопрос

1

У меня проблема с переписыванием URL.

Я просто пытаюсь перенаправить смарт-url, например www.name.com/demo/profile, на существующий URL: www.name.come/demo/index.php? S = профиль

Я помещаю свой.htaccess в корневой каталог.

Вот мой код:

RewriteEngine On
RewriteRule ^demo/([a-z]+) demo/index.php?s=$1& [NC,L]

Если я пишу что-то вроде www.name.com/demo/profile, он не работает.

Модификация Rewrite на сервере активна, и она работает (я пробовал другие примеры).

Благодарю!

Обновить

С номерами он работает.

Мое правило:

RewriteEngine On
RewriteRule ^demo/([0-9]+) demo/index.php?s=$1& [NC,L]

Умный URL: www.name.com/demo/1
Существующий URL: www.name.come/demo/index.php? S = 1

Почему это не работает с персонажами?

  • 0
    Как это не работает? - он должен для конкретного примера приведен.
  • 2
    Какую ошибку вы видите при переходе на URL?
Показать ещё 1 комментарий
Теги:
.htaccess
mod-rewrite

1 ответ

2

Вам нужно либо добавить некоторые условия для своего правила, либо сделать соответствие более строгим. Попробуйте либо:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^demo/([a-z]+) demo/index.php?s=$1& [NC,L]

или же

RewriteEngine On
RewriteRule ^demo/([a-z]+)$ demo/index.php?s=$1& [NC,L]

Чтобы ваше регулярное выражение не соответствовало "index.php".

  • 0
    Спасибо, но это все еще не работает. Всегда одна и та же ошибка: не найдено Запрошенный URL / demo / profile не был найден на этом сервере.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню