我有一個名爲profile.php?id = 21的頁面,我希望從存儲在數據庫中的文本字符串中選擇路徑。因此,例如,如果我將「我的頁面」存儲在與此頁面關聯的數據庫中,我希望完整路徑爲「www.domainname.com/my-page/21」而不是「www.domainname.com/profile」。 PHP?ID = 21" 。Php重寫動態頁面
我正在使用MySQL數據庫。 任何幫助,將不勝感激。
我有一個名爲profile.php?id = 21的頁面,我希望從存儲在數據庫中的文本字符串中選擇路徑。因此,例如,如果我將「我的頁面」存儲在與此頁面關聯的數據庫中,我希望完整路徑爲「www.domainname.com/my-page/21」而不是「www.domainname.com/profile」。 PHP?ID = 21" 。Php重寫動態頁面
我正在使用MySQL數據庫。 任何幫助,將不勝感激。
這可能會幫助你,把它添加到.htacess文件
RewriteEngine On
RewriteRule ^([^/]*)/([^/]*)/$ /profile.php?id=$2 [L]
然後他們都會讓你打電話domainname.com/profile.php?id=21
domainname.com/my-page/21/
domainname.com/anything/21/
domainname.com/justnotaslash/21/
非常感謝!這正是我所期待的。我知道現在看起來很簡單!再次感謝。 – davelowe85
只是對安迪·吉的回答上面擴展,您需要創建一個.htaccess文件在您的網站的基本目錄中。 (這就是Drupal(drupal.org)和FlightPath(getflightpath.com)這樣的項目)。
比方說,所有的流量需要經過的index.php,並打算在index.php中有一個準路徑?Q =一些/路徑
所以,你要site.com/index.php?q = some/other/path 在用戶瀏覽器中看起來像這樣:site.com/some/other/path
這是您的.htaccess文件需要包含的內容(取自FlightPath .htaccess文件,它受到Drupal 6 .htaccess文件的很大影響):
<IfModule mod_rewrite.c>
RewriteEngine on
#######################################
######################################
# Modify the RewriteBase if you are using FlightPath in a subdirectory or in a
# VirtualDocumentRoot and the rewrite rules are not working properly.
# For example if your site is at http://example.com/flightpath uncomment and
# modify the following line:
# RewriteBase /flightpath
#
# If your site is running in a VirtualDocumentRoot at http://example.com/,
# uncomment the following line:
# RewriteBase/
# Rewrite URLs of the form 'x' to the form 'index.php?q=x'.
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/favicon.ico
RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]
</IfModule>
Af在這種情況下,您需要對index.php(或任何您想使用的)進行編程,查看僞路徑的$ _GET [「q」],然後查詢數據庫並顯示您認爲合適的內容。
順便說一句如果你把這個.htaccess文件放在適當位置,並開始出現奇怪的服務器錯誤,只需刪除或重命名.htaccess文件即可恢復正常,因爲這可能意味着你的web服務器沒有設置爲處理URL重寫這樣的規則。
非常感謝你。我遇到過這種htaccess文件(我認爲wordpress的文件類似),但說實話,我並不確定在index.php後如何開始。如果我將來遇到奇怪的服務器錯誤,還要感謝提示! – davelowe85
所以你只是想要一個不同的URL格式? – crowder
放下21,只需使用'www.domainname.com/my-page''my-page'作爲你在db中尋找的slu slu。 –