2010-02-04 127 views
3

嘿大家,我真的很困惑這個問題。我試圖描述它:當我傳遞一個URL作爲參數時,Apache失敗

問題是: http://mydomain.com/somedir/somephp.php?arg1=value&arg2=http://otherdomain.com&arg3=http://othertoo.com/somepath/something ...完全失敗。有和沒有網址編碼。

我的網站讀取了mydomain.com/everything後的所有內容,除了存在的文件和目錄外。我正在用mod_rewrite做:

Options -Indexes 

RewriteEngine on 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

RewriteRule ^(.*)$ handler.php

上面的查詢示例在handler.php處着陸。如果我註釋掉重寫規則,就會有一個Apache的錯誤:在URL參數//字符串:

Forbidden 

You don't have permission to access /somedir/somephp.php on this server. 

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

大量的測試等,我已經想通了,有一個與HTTP一個問題://或。 但它的url編碼:S

這東西應該是一個openId身份驗證系統,並且它在回發時失敗,並且我確信url參數中的url會導致此錯誤。

我以前從未遇到過這個問題,其他人也做過很多相同的事情。 網址編碼的東西必須工作。

請幫幫我! Thanx!

回答

2

我面臨完全相同的問題。 here

您需要聯繫您的託管服務提供商。有一些規則與他們的.htaccess規則衝突。因此請求他們從這些規則中將您的網站列入白名單。

不要忘記在向webHosting提供者報告問題時包含問題的網址。

我非常肯定,只要您的網站已添加到服務提供商安全規則的白名單中,您的問題就能得到解決。

當我向我的網站託管服務提供商報告問題時,我的問題得到解決。

0

你可以嘗試用base64編碼是:

http://www.webtoolkit.info/javascript-base64.html

然後在應用程序中進行解碼。

+0

但響應(回調)來自openId提供程序,例如:google或yahoo。所以我不能對回調網址做任何事情,我只是得到它。 – 2010-02-04 16:02:40