我有網址,如:URL重寫mod_rewrite的
page.com/content.php?xname=p&yname=q&zid=1
我想使用Apache的mod_rewrite重寫此網址到類似:
page.com/p/q/
筆記不應該有 'ZID' 參數重命名的網址。我知道表達式作爲GET傳遞到原始URL中。 是否可以重新命名如上。如果是的話,如何實現這一目標?
我有網址,如:URL重寫mod_rewrite的
page.com/content.php?xname=p&yname=q&zid=1
我想使用Apache的mod_rewrite重寫此網址到類似:
page.com/p/q/
筆記不應該有 'ZID' 參數重命名的網址。我知道表達式作爲GET傳遞到原始URL中。 是否可以重新命名如上。如果是的話,如何實現這一目標?
這一個工作正常,我和將改寫請求/p/q/
到/content.php?xname=p&yname=q&zid=1
。
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/([^/]+)/$ content.php?xname=$1&yname=$2&zid=1 [QSA,L]
此規則將被放置在.htaccess在網站根目錄。如果放置在其他地方可能需要一些小的調整。
如果請求的URL是一個真實的文件或文件夾(我確定你不想重寫圖像或其他頁面,我不得不添加這樣的條件,因爲我不知道你是什麼網站結構是)。
RewriteEngine On
RewriteRule ^/[a-z0-9]+/[a-z0-9]+/$ content.php?xname=$1&yname=$2 [L]
RewriteRule ^content\.php\?xname=(p)&yname=(q)&zid=1$ /$1/$2 [R]
相反p和q,你可以嘗試像[A-Z0-9 _-] +匹配標識符的表情。
有一個在線測試工具,在這裏:http://civilolydnad.se/projects/rewriterule/
當我寫的東西是這樣的: 重寫規則^事件/(即[az] +)/([0-9] +)/ $ x.php X = $ 16 即使我已經進入網址:event/p/6 /。 它被重命名爲x.php?x = p 我想要的是x.php?x = 6 – akashr