Я новичок в переписывании URL.
Я написал несколько правил перезаписи в файле .htaccess. Моя проблема в том, что запрос ajax и раздел администратора (оба из которых управляются разными файлами с именами ajax.php и admin.php) вообще не работают.
Вот что я пытаюсь достичь, используя mod-rewrite:
URL: http://websitename/index.php?page=rr&cn=abc&cid=1
должно выглядеть так: http://websitename/rr/abc/1
в адресной строке браузера
и
URL (имеющий только значение страницы): http://websitename/index.php?page=register
должно выглядеть так: http://websitename/register
в адресной строке браузера
и
URL: http://websitename/index.php?page=i&in=banking&iid=12
должно выглядеть так: http://websitename/industry/banking/12
в адресной строке браузера
и
URL: http://websitename/index.php?page=cr&cn=pqr&rid=12
должно выглядеть так: http://websitename/cr/pqr/12
в адресной строке браузера
Пока я могу сделать это, используя следующие правила, но запрос к ajax.php и admin.php вместе с некоторыми параметрами вообще не работает (страница не найдена).
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^([A-Za-z0-9-]+)/([^/]+)/([^/]+)$ index.php?page=$1&companyname=$2&companyid=$3%{QUERY_STRING} [L,QSA]
RewriteRule ^([^/]+)$ index.php?page=$1%{QUERY_STRING} [L,QSA]
RewriteRule ^view/([^/]+)/([^/]+)/([^/]+)$ index.php?page=$1&industryname=$2&industryid=$3%{QUERY_STRING} [L,QSA]
RewriteRule ^([^/]*)/([^/]*)/review/([^/]*)$ /index.php?page=$1&companyname=$2&reviewid=$3 [L]
Все три правила перезаписи модов работают нормально, но запросы ajax, выполняемые через отдельный файл с именем "ajax.php", не работают (появляется страница, не найденная)
т.е. следующие URL-адреса должны работать с вышеуказанными правилами перезаписи мода
http://websitename/ajax.php?action=vote
и
http://websitename/admin.php?page=home
(не нужно иметь правила перезаписи модов для файлов ajax.php и admin.php)
Но я не могу успешно сделать это для ajax.php и admin.php
Пожалуйста, помогите мне в этом. Я действительно застрял на этом.
Спасибо