2010-11-30 37 views
0

Mod重寫改變了URL的外觀,但它對服務器端腳本(PHP)有影響嗎?
它會改變PHP中的$ _GET []嗎?將某物像:Mod重寫如何影響PHP,JS或AS3變量和路徑

if (strpos($pulledId,':') > 0) { $pulledId = substr($pulledId,0,strpos($pulledId,':')); }

工作,當在diplayed URL沒有 「ID =」? JavaScript怎麼樣? Flash如何?從服務器加載外部文件時,mod可以重寫嗎?

AS3或JS是客戶端腳本。所以我假定他們在瀏覽器中獲取URL,但是PHP,JAVA是服務器端的,所以他們應該獲得未被mod重寫處理的URL。

回答

1

mod_rewrite可以執行兩種類型的重定向的:

  • 內部重定向:RewriteRule ^catalogue/product-(\d+)/?$ products.php?product_id=$1 [L]
  • HTTP重定向:RewriteRule ^foo?$ http://example.com/bar [L]

此外,它可以去掉原始查詢字符串或它附加到生成的URL(如果使用[QSA]標誌)。

除非有內部重定向,否則PHP基本上與瀏覽器相同,在這種情況下,它會看到最終URL和(可選)原始查詢字符串。

1

否,$_GET在服務器上不會更改。這是mod_rewrite的主要觀點。

在客戶端,是的,URI會不同 - 他們只能看到地址欄中的內容。

使用Java,它取決於您在哪裏執行它,所以請參閱上文。