2015-02-10 53 views
1

我要遷移我PHP -webapp到谷歌應用程序引擎。問題是,我目前使用htaccess文件來管理我的重寫規則。通常,規則很簡單,但我不知道如何將一個規則從htaccess遷移到app.yaml文件。如何在app.yaml中構建這個重寫規則?

htaccess的規則是:

RewriteRule ^product/([-_0-9a-z]*)/$ product.php?p=$1 [L] 

應該重定向到http://example.de/product/red-pants/http://example.de/product.php?p=red-pants

對我來說是很重要的URL看起來像一個文件夾。

我希望有這個簡單而優雅的解決方案。

我感謝所有幫助:) 謝謝!

+0

你不能做到這一點直接app.yaml中,但你可以通過一個小的輔助PHP做腳本 - 請參閱https://cloud.google.com/appengine/docs/php/config/mod_rewrite(不幸的是,我自己的PHP-fu很弱,所以我不能直接告訴你如何解決你的具體問題,它顯然也取決於你的PHP應用程序代碼是依賴於'$ _GET ['q']'還是更現代的首選''_SERVER ['REQUEST_URI']'的方法',所以你可能想編輯你的Q來澄清 - 之後我確信一些PHP專家可以編寫一個完全即時答案!)。 – 2015-02-10 18:38:28

回答

0

嘗試這樣:

$path = explode("/", parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH)); 
$product = $path[2]; 

這在.yaml

- url: /.* 
    script: index.php