0
我有設置以下的htaccess重寫規則:重寫的PayPal令牌URL
RewriteEngine On
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)$ /index.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/$ /index.php?id=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)$ /index.php?id=$1&sub=$2 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/$ /index.php?id=$1&sub=$2 [L]
一切都很好,直到它處理支付寶真。貝寶返回成功,網址是這樣的:
http://example.com/checkout/success?token=EC-33Y7337627092313R&PayerID=QFQHDF7LULQR8
女巫導致付款爲「失敗」,因爲在URL中-Questionmark的 - 當與& -Ampersand取代一切都很好?
解決此問題的最佳實踐/重寫條件是什麼?
感謝您的幫助!
備註:您可以減少您在'.htaccess'中需要的規則數量。 'RewriteRule ^([^ /] +)/?$ /index.php?id=$1 [L]'將通過'/?'覆蓋尾部斜線和非尾部斜線版本。第二套規則也可以做同樣的事情。 – ceejayoz
非常感謝你! – maunel