2013-08-19 240 views
0

在計算器中,網址爲像 How to store post variables value動態鏈接到靜態鏈接?

但是,當我們用PHP創建網頁,它最有可能有一個網址像 WWW,somewebsite.com /我的空間?someid = 123

而且然後顯示內容。

我想知道如何 www.somewebsite.com/mypage?someid=123

轉換成 www.somewebsite.com/mypage/some_page_link_here_which_is_static

有人有想法怎麼辦呢?我試着先搜索這個問題,但它向我展示了c/C++/java鏈接:|

編輯:

我嘗試了一些YouTube視頻,我HTACESS代碼爲
RewriteEngine敘述上
的RewriteCond%(REQUEST_URI)查找/([0-9] +)/
重寫規則的發現(* )/ /find.php?id=$1

這將打開一些網址像
東西/ find.php?ID = 11 到
東西/發現/ 11

.htaccess文件位於我的網站的根目錄下,但仍然失敗。 我做錯了什麼?

回答

0

許多CMS和web編程框架都支持這種用戶(和搜索引擎)友好鏈接的實現。

在最低級別上,您可以使用在所有服務器上找到的URL重寫功能。

如果您使用Apache服務器,則必須編輯.htaccess文件;用於IIS(Windows服務器)的web.config文件。

Google爲url重寫apache或url重寫IIS。

更新: 作爲一個例子,參見該溶液(從CodeIgniter借)。你當然可以用任何你想要的替換index.php,圖像等。

RewriteEngine on 
RewriteCond $1 !^(index\.php|images|robots\.txt) 
RewriteRule ^(.*)$ /index.php/$1 [L] 

更新2 - 說明

至於更深入的解釋,我發現有關該主題極好的介紹/教程:URL Rewriting for Beginners

希望這更有道理即上述無法解釋的例子:)

+0

請檢查我所做的修改。 – user2454340

+0

我也更新了我的答案,請檢查一下。 –

+0

我喜歡一些解釋。但無論如何,謝謝。 – user2454340

1

嘗試搜索「使用htaccess更改網址」。

編輯.htaccess文件:

RewriteRule ^mypage/(A-Za-z0-9_+]) page.php?post_uri=$1 
+0

請檢查我所做的編輯。 – user2454340

+0

感謝您的升級 – 2013-08-21 09:05:28

1

其稱爲URL重寫。對於Apache Web服務器,您可以通過使用mod_rewrite擴展來實現此目的。通常開發人員使用.htaccess文件爲該模塊提供配置指令。

進行url重寫的簡單.htaccess條目如下,它將流量發送到/一個名爲someother.html的文件。

RewriteEngine on 
RewriteRule ^$ /someother.html 

框架做路由最常見的方式之一是將所有來到web應用的流量路由到控制器。然後分析REQUEST_URI並使用php進行路由。這提供了比動態地在.htaccess文件上提供每個規則更動態地執行路由。

0

http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html

例如

www.somewebsite.com/mypage/dynamic-link-to-static-link

htaccess的部分

重寫規則^我的空間/(A-ZA-z0- 9_ +])page.php文件?post_uri = $ 1 [QSA]

page.php文件部分

$ post_uri = $ mysqli-> real_escape_string($ _ GET [ 'post_uri']);

//然後就可以通過變量$ post_uri

RewriteEngine on 
RewriteCond %{REQUEST_URI} find/([0-9]+)$ 
RewriteRule /find.php?id=$1 

找出該行嘗試此%(REQUEST_URI)=>%{REQUEST_URI}

+1

請檢查我所做的修改。 – user2454340