#apache #.htaccess #url-rewriting #rewritemap
#apache #.htaccess #url-переписывание #перезаписать карту
Вопрос:
У меня есть файл карты в этом формате
233 Alabama/Phenix-City/Ridgebrook
237 Alabama/Ft.-Mitchell/Riverside-Estates
У меня есть следующий скрипт .htaccess. Я получаю внутреннюю ошибку сервера 500 при попадании на соответствующую страницу.
RewriteEngine On
RewriteBase /
Options FollowSymLinks
RewriteMap examplemap txt:/var/www/html/site.com/key_pair.txt
RewriteRule community.php?(.*) ${examplemap:$1} [R]
Когда я передаю следующий URL-адрес, я хочу, чтобы он был переписан следующим образом.
http://example.com/community.php?comm_id=233
должно быть переписано следующим образом
http://example.com/Alabama/Phenix-City/Ridgebrook
Есть мысли?
Комментарии:
1. Вы могли бы просто использовать относительный путь, поэтому просто txt:key_pair.txt . Никаких других мыслей относительно того, что может быть причиной проблемы.
2. Ну, похоже, что сайт недоступен с помощью правила RewriteMap. Я только что протестировал другие страницы и не могу получить доступ ни к одной из них. Как только я закомментирую строки из файла .htaccess, сайт запускается.
3. Интересно, отправляется ли карта перезаписи в файл .htacess или куда-то еще.
Ответ №1:
У вас не может быть RewriteMap в файле .htaccess:
http://httpd.apache.org/docs/current/mod/mod_rewrite.html#rewritemap
Можно использовать только в конфигурации сервера (например, httpd.conf) и файлах вашего виртуального хоста conf.
Комментарии:
1. спасибо, я понял это. Мне сказали, что я не мог ответить на свой вопрос в течение 8 часов.