0
正如標題所說,我希望所有的請求重定向所有的RESTful請求域根不改變URL
domain.com/something
domain.com/somethting/else
domain.com/a/third/thing
重定向到
domain.com
,但仍顯示原來的URL,因爲我想用他們作爲參數。我試過thesetwo的想法,但網址最終顯示
domain.com
正如標題所說,我希望所有的請求重定向所有的RESTful請求域根不改變URL
domain.com/something
domain.com/somethting/else
domain.com/a/third/thing
重定向到
domain.com
,但仍顯示原來的URL,因爲我想用他們作爲參數。我試過thesetwo的想法,但網址最終顯示
domain.com
我找到了答案here at Gareth Jones's blog:
傳遞的所有請求到一個PHP腳本
我所需要的所有請求用某個URL前綴將由單個腳本處理。這是使用以下URL重寫規則.htaccess文件迎刃而解:
Options +FollowSymLinks
RewriteEngine on
RewriteRule ^.*$ index.php
注意,我不得不啓用在Apache的mod_rewrite的模塊,並確保指令可以用以下覆蓋:
<Directory /var/www/>
AllowOverride All
</Directory>
確定完整請求的URL
我的應用程序通過URL重寫複雜的另一個要求是,我需要訪問的完整URL。我用以下代碼實現了這一點:
$protocol = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
$location = $_SERVER['REQUEST_URI'];
if ($_SERVER['QUERY_STRING']) {
$location = substr($location, 0, strrpos($location, $_SERVER['QUERY_STRING']) - 1);
}
$url = $protocol.'://'.$_SERVER['HTTP_HOST'].$location;