2011-08-26 75 views
2

我有網址,如:URL重寫mod_rewrite的

page.com/content.php?xname=p&yname=q&zid=1 

我想使用Apache的mod_rewrite重寫此網址到類似:

page.com/p/q/ 

筆記不應該有 'ZID' 參數重命名的網址。我知道表達式作爲GET傳遞到原始URL中。 是否可以重新命名如上。如果是的話,如何實現這一目標?

回答

2

這一個工作正常,我和將改寫請求/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] 
  1. 此規則將被放置在.htaccess在網站根目錄。如果放置在其他地方可能需要一些小的調整。

  2. 如果請求的URL是一個真實的文件或文件夾(我確定你不想重寫圖像或其他頁面,我不得不添加這樣的條件,因爲我不知道你是什麼網站結構是)。

0
RewriteEngine On 
RewriteRule ^/[a-z0-9]+/[a-z0-9]+/$ content.php?xname=$1&yname=$2 [L] 
1
RewriteRule ^content\.php\?xname=(p)&yname=(q)&zid=1$ /$1/$2 [R] 

相反p和q,你可以嘗試像[A-Z0-9 _-] +匹配標識符的表情。

有一個在線測試工具,在這裏:http://civilolydnad.se/projects/rewriterule/

+0

當我寫的東西是這樣的: 重寫規則^事件/(即[az] +)/([0-9] +)/ $ x.php X = $ 16 即使我已經進入網址:event/p/6 /。 它被重命名爲x.php?x = p 我想要的是x.php?x = 6 – akashr