mod_rewrite, доступ только к одной части URL для записи в блоге - PullRequest
0 голосов
/ 11 февраля 2011

На других сайтах, над которыми я работал, я мог легко создавать дружественные для поисковых систем URL-адреса, используя следующую информацию в .htaccess:

<files entry>
ForceType application/x-httpd-php5
</files>

Я работаю над сайтом, размещенным в компании, которая работает на PHP с быстрой CGI, и это не работает. Я пытаюсь получить следующий URL - http://somewhere.com/blog/entry/12/this-is-the-title

Я просто ищу идентификатор (в примере 12), и мне необязательно нужен заголовок (моя логика заключается в том, что заголовок может быть изменен клиентом, ссылки могут быть битыми) Я попробовал следующий mod_rewrite, но он не работает, если я добавляю заголовок:

    RewriteEngine on
    RewriteRule ^entry/([^/\.]+)/?$ index.php?id=$1 [L]

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

1 Ответ

1 голос
/ 11 февраля 2011

Если файл .htaccess фактически размещен как /blog/.htaccess, вам потребуется строка RewriteBase /blog/.

Простой поиск чисел также поможет ограничить возвращаемый идентификатор.

RewriteRule ^blog/entry/([01-9]+)/?$ index.php?id=$1 [L]

Это также удаляет часть регулярного выражения '/? $'.'$' В конце привязывает совпадение к концу строки - вам просто нужны числа, и вы можете игнорировать все, что не является цифрой.

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