2017-07-11 24 views
1

我想更改我的URL。 目前,他們是這樣的:帶參數Mod_Rewrite - 動態網站

http://website.net/?page=news 
http://website.net/?page=information&skin=217 (shows a mario skin with informations) 

我希望他們看起來像這樣:

http://website.net/news/ 
http://website.net/mario/ 

我至今嘗試過的以下內容:

RewriteEngine on 
RewriteCond %{QUERY_STRING} ^page=information&skin=217$ 
RewriteCond %{REQUEST_URI} ^\/$ 
RewriteRule .* http://website.net/Mario/? [R=301,L] 

^這個代碼適用於更改URL地址,但我收到404錯誤:找不到頁面。似乎這不是太好。

我錯過了什麼,我需要改變什麼?
這也與給定的參數來工作,所以:http://website.net/Mario/還是應該知道的參數頁=信息,皮膚= 217

感謝

+0

?page = is url。內容被index_php包含在$ _GET ['page'] – iTzMeRafa

+0

對不起,看到我的錯誤。改爲?第 – iTzMeRafa

回答

1

您可以在網站根目錄的.htaccess使用此代碼:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+\?page=information&skin=217\s [NC] 
RewriteRule^/mario/? [R=301,L] 

RewriteCond %{THE_REQUEST} \s/+\?page=([^\s&]+)\s [NC] 
RewriteRule^/%1/? [R=301,L,NE] 

RewriteRule ^mario/?$ /?page=information&skin=217 [L,QSA,NC] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/?$ /?page=$1 [L,QSA] 
+0

作品感謝迄今,但我的CSS現在不起作用。我想我必須在index.php中更改我的路徑吧? – iTzMeRafa

+0

對於css/js相對路徑,在頁面的HTML部分下面加上'':'' – anubhava

+1

謝謝!似乎工作:) – iTzMeRafa

0
`RewriteCond %{THE_REQUEST} \s/+\?page=information&skin=([^\s&]+)\s [NC] 
RewriteRule^/%1/? [R=301,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/?$ /?page=information&skin=$1 [L,QSA] 

RewriteCond %{THE_REQUEST} \s/+\?page=information&resourcepack=([^\s&]+)\s [NC] 
RewriteRule^/%1/? [R=301,L,NE] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([\w-]+)/?$ /?page=information&resourcepack=$1 [L,QSA]` 

我有這個現在,工作正常,所有皮膚,但不適用於資源包。爲什麼?
還嘗試將第二個博客中的%1和$ 1更改爲%2和$ 2。

+0

找到解決方案。沒關係 :) – iTzMeRafa