我希望它顯示的網址爲 /index.php?page=somePage&id=someID&siteAddress=someAddress
爲 /someAddress/?page=somePage&id=someID
。如何使用.htaccess重寫此網址
我該如何使用重寫規則呢?
我希望它顯示的網址爲 /index.php?page=somePage&id=someID&siteAddress=someAddress
爲 /someAddress/?page=somePage&id=someID
。如何使用.htaccess重寫此網址
我該如何使用重寫規則呢?
要在內部重寫/someAddress到的index.php:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{QUERY_STRING} ^page=([^&]+)&id=([^&]+)$
RewriteRule ^/?([^/]+)/$ /index.php?page=%1%id=%2&siteAddress=$1 [L]
在外部重定向的index.php到/someAddress:
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\?page=([^&]+)&id=([^&]+)&siteAddress=(^[&\ ]+)
RewriteRule^/%3/?page=%1&id=%2 [L,R=301]
我想在內部重寫它,所以我將該代碼添加到.htaccess。但該網站沒有顯示結果頁面。該網站是http://public.forumzbb.com/test/?page=register&id=null。我應該在頁面上看到的是http://public.forumzbb.com/index.php?page=register&id=null&siteAddress=test。是的,它應該顯示爲一個簡單的「網站未安裝」。文本。感謝您的幫助:) – user1748794
@ user1748794您是否將這些規則放置在文檔根目錄下的htaccess文件的頂部?你確定mod_rewrite已打開嗎?你的虛擬主機/服務器配置中是否設置了'AllowOverride All'? –
哎呀,謝謝。現在解決了,只是忘了在文件的頂部放置'RewriteEngine On'。再次感謝你 :) – user1748794
哪裏' someAddress'來自?這是'siteAddress'查詢字符串參數的值嗎? –
固定爲更清晰的措辭。 siteAddress應該等於someAddress,即在兩個正斜槓之間提供的值。 – user1748794