Apache mod_rewrite: что я делаю не так? - PullRequest
3 голосов
/ 27 июня 2011

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

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

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

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

Спасибо!

1 Ответ

4 голосов
/ 27 июня 2011

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

# Should match /01234/anything
# with the "/anything" optional
RewriteRule ^([0-9]+)(/.*)?$ index.php?id=$1 [L]
...