Я пытаюсь использовать апачский mod_rewrite для достижения следующихКак использовать базовый URL после mod_rewrite
Измените этот URL: http://mywebsite.com/products.php?id=22
к этому URL http://mywebsite.com/products/dog-house
Я все включено и я могу создать URL-адрес и переписать без проблем. Проблема у меня в том, что products.php находится в корневом каталоге веб-сайта, а с новым правилом перезаписи все мои ссылки сломались, и все мои jquery-функции больше не работают , Из-за переписывание, теперь он думает, что этот файл находится в другой подкаталог (продукты), и он бросает все от
Вот копия моего файла .htaccess
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^products/([a-zA-Z]+)$ product.php?id=$1
</IfModule>
Я был в состоянии решить проблема сломанной HTML ссылки, добавив в головной метку
<base href="<?=BASE_URL;?>">
Теперь проблема я лицо JQuery .. если есть только способ глобально трюк JQuery, чтобы использовать «базу» так же, как HTML получает обман с основной бирка ..
Здесь не приводится пример функции Jquery больше не работает
function search_products_by_keyword()
{
var keyword = $('#product_keyword').val();
$.post('ajax/search_products_by_keyword.php', {keyword:keyword},function(data){
$('#main_content').html(data);
});
}
Я теперь понимаю, что это моя вина не думать об использовании base_url в первую очередь. Теперь у меня есть такое большое количество этих функций jquery, которые проходят через все из них на 1, это ужасающая мысль.
Заранее спасибо за помощь
или он может добавить другое правило перезаписи для переписывания вызовов AJAX! – undone
@undone Вот что я имел в виду, я отредактировал, чтобы включить переписывание, которое я предлагаю. –