2013-10-02 3 views
0

Я использую WAMP сервер для моих проектов и застрял в принятии URLs чистогоmod_rewrite не работаю для чистого URLs

В настоящее время мой URL-адрес, как этот

http://localhost/BookProjectFinal/booksdetails.php?pid=8 

Я хочу, чтобы это сделать, как это

http://localhost/BookProjectFinal/booksdetails/8 

Что я использую в моем файле .htaccess это

RewriteEngine On 
RewriteRule ^([a-zA-Z0-9]+)$ booksdetails.php?pid=$1 
RewriteRule ^([a-zA-Z0-9]+)/$ booksdetails.php?pid=$1 

Но его не работает, возвращая весь URL. В чем проблема? Спасибо

+0

Какой вывод 'RewriteLog' вы наверняка используете для отладки? – DanFromGermany

ответ

1

Параметр RewriteBase укажет mod_rewrite, из которого каталог начнет сопоставляться. Это можно использовать для приложений, работающих в подпапках apache. Вы можете установить его в/BookProjectFinal/здесь.

Ваше регулярное выражение ищет полный алфавитно-цифровой URL-адрес, за которым следует косая черта, что я не уверен, что вы хотите. Попробуйте что-нибудь вроде:

RewriteRule bookdetails/([0-9]+) bookdetails.php?pid=$1 

соответствует только количеству. Вот тест:

Соответствует URL-адресу формы/bookdetails/8. Используйте print_r ($ _ GET) для проверки работоспособности в bookdetails.php

+0

Все еще не работает, я попробовал то, что вы предложили – phplover

+0

Обновлен ответ - вам может потребоваться добавить RewriteEngine On? –

+0

Я получил его работу благодаря всем за помощь. То, что я делаю неправильно, предоставляет , поэтому я изменил его на myvariable и все отлично работает – phplover

Смежные вопросы