Переписать мод 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 файл.
Что я делаю не так? Как я могу это исправить?
Спасибо!
1 answers
Вы пытаетесь перехватить URL-адреса, подобные /0/title
, но у вас нет косой черты /
в шаблоне соответствия. Попробуйте вместо этого:
# Should match /01234/anything
# with the "/anything" optional
RewriteRule ^([0-9]+)(/.*)?$ index.php?id=$1 [L]