Превратить ... /? Token = xx-xxx в ... / xx-xxx - PullRequest
0 голосов
/ 31 января 2012

У меня есть htaccess-файл, который удаляет index.php (codeigniter). У меня проблема с Paypal, так как в возвращаемом URL-адресе используются строки запроса, которые вызывают проблемы с codeigniter.

Это мой htaccess-файл:

RewriteEngine on
RewriteBase /

# Hide the application and system directories by redirecting the request to index.php
RewriteRule ^(application|system|\.svn) index.php/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [QSA,L]

Я хочу переписать следующий пример URL-адресов:

http://.../site/bookingconfirmed/?token=EC-56G61173NH540131H

до

http://.../site/bookingconfirmed/EC-56G61173NH540131H

и

http://.../site/bookingdeclined/?token=EC-56G61173NH540131H

до

http//.../site/bookingdeclined/EC-56G61173NH540131H

Есть хорошие идеи, как это сделать?

1 Ответ

0 голосов
/ 31 января 2012

Добавьте эти правила прямо ниже RewriteBase /

#for booking confirmed and declined
RewriteCond %{REQUEST_URI} /site/booking(confirmed|declined)/$ [NC] 
RewriteCond %{QUERY_STRING} (^|&)token=([^&]+)(&|$) [NC]
#rewrite to /site/bookingdeclined/EC-56G61173NH540131H
RewriteRule ^ %{REQUEST_URI}%2 [L] 

Если вы хотите изменить URL-адрес, который клиент видит в своей адресной строке, измените последнее правило на

RewriteRule ^ %{REQUEST_URI}%2 [L,R=301] 
...