2012-02-03 65 views
0

在這裏停下來欣賞幫助。Mod重寫和GET數據 - 在一個而不是另一個上工作

使用雙選項註冊創建網站 - 在電子郵件URL中使用_GET來完成訂閱。 訂閱後,我有一個鏈接,使他們能夠訪問後臺的問題使用_GET

  1. 在電子郵件中的鏈接看起來像: http://173.201.224.43/Jason_Borjeson/jeba2012/site/subscription_manager?act=1&h=a2df4b90c3fc3d061838661886e321d1
  2. 和網頁上的鏈接看起來像:http://173.201.224.43/Jason_Borjeson/jeba2012/site/past_issues?c=17&a=list

如果需要,您可以使用鏈接#1獲取鏈接#2(紫色文本鏈接到表格數據中的表單按鈕右側),因爲該網站仍在開發中。

該網站上的所有頁面都通過mod_rewrite運行。 #1上面的工作,而#2產生404(服務器聲明 - 不是PHP /數據庫生成)。

/和之間的文字?用於從數據庫中選擇頁面,而後面的變量是?用於顯示其他信息。

htaccess的文件如下:

RewriteEngine On 
RewriteBase /Jason_Borjeson/jeba2012/site/ 
RewriteRule ^index\.php$ - [L] 
RewriteRule ^css/css\.css$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . index.php [L] 

鏈路#1使得通過過程預期,但鏈接#2似乎通過裂紋打滑。如果我QSA的規則,我都得到一個內部服務器錯誤。

我只想要傳遞所有信息,並在我的PHP代碼中解析它。

就像一個FYI - _POST似乎沒有汗水。同時託管GoDaddy(如果這有所作爲)

再次感謝!

+0

剛剛測試過這個。它的URL在這裏工作。如果您有權訪問apache的'.conf'文件,請啓用重寫日誌記錄。通過這樣做:'RewriteEngine on' 'RewriteLog/etc/httpd/logs/rewrite.log' 'RewriteLogLevel 9'在你的'VirtualHost'中。 – ThinkingMonkey 2012-02-04 02:43:21

+0

@ThinkingMonkey - 謝謝我會試試 - 今天早上剛剛重試,刷新緩存,但仍然不在這裏工作。 – cjtech 2012-02-04 12:10:08

+0

我試了一下,並收到內部服務器錯誤。我真的很想知道到底發生了什麼,總是很失敗。 – cjtech 2012-02-04 13:10:33

回答

0

即使第二個URL中的細微變化也會導致重寫。我不得不相信重寫條件沒有得到滿足 - 您的系統上可能有一個名爲「past_issues」的目錄。

+0

RewriteBase中沒有一個,我很確定上面的目錄中沒有一個,但我會檢查確定。 – cjtech 2012-02-04 12:11:40

+0

找不到名爲past_issues的目錄或文件。我想知道GoDaddy是否擁有用於記錄舊帳戶票據的某種過濾器。所以我想我會重命名數據庫中的「文件」。再次感謝! – cjtech 2012-02-04 13:09:01

相關問題