2010-06-30 3 views
0

Я кодировал несколько страниц php для отображения котировок клиентов, на rep.php, пользователь может нажать кнопку просмотра сведений (POST quoteID как переменная to quotedetails.php? QuoteID = Q123456) для просмотра подробной информации о конкретной цене..htaccess не могу передать переменные перезаписи на переписанную страницу на WAMP

Затем я использую .htaccess, чтобы сделать все страницы php для расширения html и переписанного URL из 'quotedetails.php? QuoteID = Q123456' в 'quotedetails/Q123456.html', все отлично работает на XAMPP, но под WAMP, переписано url не отображает данные на этой странице с кавычками, я тестировал с помощью старого url (quotedetails.php? quoteID = Q123456), он работает нормально, поэтому я думаю, что это должно быть что-то неправильно с моими правилами .htaccess, поскольку новый html-url не может передать переменную (quoteID).

это мой файл .htaccess:

Options +FollowSymlinks 
RewriteEngine on 

#sideBar.php edit rep link with the styles below, e.g. all,all.html (showing all) 
#or reps/$repID,$repName.html 
RewriteRule ^reps/all,all.html$ rep.php?repID=all&repName=all [QSA] 
RewriteRule ^reps/([A-Z]+),([A-Za-z\sA-Za-z]+).html$ rep.php?repID=$1&repName=$2 [QSA] 
RewriteRule ^reps/([A-Z]+).html$ rep.php?repID=$1 [QSA] 

#rep.php including page string, edit pager links in rep.php with following styles, 
#\s indicating a white space therefore mod_rewrite can recognise the repName 
#e.g. reps/$repID,$repName,$page.html 
RewriteRule ^reps/([A-Za-z]+),([A-Za-z\sA-Za-z]+),([0-9]+).html$ rep.php?repID=$1&repName=$2&page=$3 [QSA] 


#quotedetails.php rewrite this page url to Q99999.html 
#e.g. quotedetails/$quoteID.html 
RewriteRule ^quotedetails/(Q[0-9]+).html$ /quotedetails.php?quoteID=$1 [QSA] 

#index/addquote/search/viewall/howto page rewrite *.php ---> *.html 
RewriteRule ^index.html$ index.php [QSA] 
RewriteRule ^addquote.html$ addquote.php [QSA] 
RewriteRule ^search.html$ search.php [QSA] 
RewriteRule ^viewall.html$ viewall.php [QSA] 
RewriteRule ^customer.html$ customer.php [QSA] 
RewriteRule ^addcustomer.html$ addcustomer.php [QSA] 
RewriteRule ^howto.html$ howto.php [QSA] 
RewriteRule ^nice404.html$ nice404.php [QSA] 

ErrorDocument 404 /auma_quotes/nice404.html 
+0

Nevermind, мой код был прав, это был проблема в WAMP, я переустановил его, все работает отлично теперь, спасибо всем ! – Patrick

ответ

0

RewriteRule ^quotedetails/(Q[0-9]+).html$ /quotedetails.php?quoteID=$1 [QSA] неправильный путь вокруг не правда ли? она должна быть RewriteRule матчем шаблона, так

RewriteRule ^quotedetails.php?quoteID=(Q[0-9]+)$ quotedetails/$1.html [QSA] 

Надеется, что это помогает

Луке

+0

Первый параметр - это то, что используется браузером, а второй параметр - внутренний, обычно невидимый URL-адрес. –

+0

thx для ответа, но он не сделал трюк. ссылка my view detail url on rep.php is /auma_quotes/quoteetails/$quoteID.html, я хочу, чтобы пользователь щелкнул эту ссылку html, и сервер переведет ее в quotedetails.php? quoteID = $ quoteID, с моим оригинальным .htaccess it сделал перевод URL, но просто $ quoteID не мог пройти. – Patrick

+0

Вы пробовали RewriteRule ^/quotedetails/(Q [0-9] +). Html $ /quotedetails.php?quoteID=$1 [QSA] и RewriteRule^auma_quotes/quotedetails/(Q [0-9] +). Html $ /quotedetails.php?quoteID=$1 [QSA]. Извините, о первом ответе, я не понял вас, я думал, что вы хотите сделать что-то противоположное тому, что вы действительно хотите делать – Luke