Переписать мод Apache: что я делаю не так?


У меня есть действительно простая перезапись в моем файле .htaccess, но она работает не совсем так, как я хочу. Это мой код:

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^admin/?$ admin.php [L]
    RewriteRule ^([0-9]*).*$ index.php?id=$1 [L]
</IfModule>

В основном я хочу, чтобы каждая страница была такой: /0/заголовок. Заголовок предназначен только для того, чтобы сделать URL-адрес более понятным для пользователя, но номер (идентификатор) должен быть передан моему PHP-скрипту. С помощью этого кода идентификатор не передается моему index.php сценарий. Он передается в этот скрипт, если я просто удалю ".*" из четвертой строки, но затем URL-адрес с текстом после номера не передавайся моему index.php файл.

Что я делаю не так? Как я могу это исправить?

Спасибо!

Author: Frog, 2011-06-27

1 answers

Вы пытаетесь перехватить URL-адреса, подобные /0/title, но у вас нет косой черты / в шаблоне соответствия. Попробуйте вместо этого:

# Should match /01234/anything
# with the "/anything" optional
RewriteRule ^([0-9]+)(/.*)?$ index.php?id=$1 [L]
 4
Author: Michael Berkowski, 2011-06-26 20:16:12