mod_rewrite RewriteRule с REQUEST_URI

0

Как я могу указать mod_rewrite RewriteRule использовать REQUEST_URI в качестве шаблона, который он проверяет, а не полный путь к файлу файла?

В настоящее время я могу передать URI с помощью параметра GET, например:

(.+) topicview.php?topicname=%{REQUEST_URI}

Но я хочу, чтобы шаблон (.+) Соответствовал самому REQUEST_URI, а не пути к каталогу, который является уродливым и выглядит как data/2/2/3233/user/21212/morestuff/more/topicview.php

  • 0
    Какой URL вы отправляете на веб-сервер и каково ваше правило перезаписи?
  • 0
    URL-адрес, который вводит пользователь, является «domain.com/topicview/user-friendly-text-here»
Показать ещё 2 комментария
Теги:
.htaccess
url
mod-rewrite

1 ответ

0

В соответствии с моим ответом на ваш другой вопрос, если URL-адрес хостинга сетевых решений выглядит странным для сервера Apache, попробуйте использовать RewriteCond вместо этого, чтобы зафиксировать требуемое значение:

RewriteCond %{REQUEST_URI} ^(.*)$
RewriteRule . topicview.php?topicname=%1 [L]

Обратите внимание на% 1, а не на $ 1, что позволяет использовать значения, зафиксированные в RewriteCond.

Ещё вопросы

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