У меня проблема с переписыванием 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
Почему это не работает с персонажами?
Вам нужно либо добавить некоторые условия для своего правила, либо сделать соответствие более строгим. Попробуйте либо:
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".