簡體   English   中英

htaccess 301的重寫規則

[英]htaccess Rewrite Rule for 301

我正在嘗試使用301建立網址,而我的運氣為零。 我想做的是獲取一個帶有id參數的URL,並將其轉換為一個干凈的URL。 下面是一個示例:

原始網址

/11/video_player.php?id=123

結果網址

/lesson/123

有人可以幫我寫這個301永久條目嗎? 我已經從十幾個不同的來源嘗試了大約20種不同的方式,但我一定會對此有所遺漏。

就像是:

RewriteRule /video_player\\.php\\?id=(\\d+)$/ /lesson/$1 [R]

不知道是否需要,但轉義了. ? 為了安全起見,在輸入路徑中輸入電子郵件不是一個壞主意。

當您陷入討厭的重寫規則時,啟用調試會非常有用,您可以通過添加以下標志來進行調試:

RewriteEngine On
RewriteLog "/var/log/apache2/rewrite.log"
RewriteLogLevel 3

顯然,將路徑更改為您想要的任何位置。 RewriteLogLevel中的較高數字會增加詳細程度。 請注意,此語法適用於2.x。 對於2.4.x,語法已更改為:

LogLevel alert rewrite:trace3

有關詳細信息,請參見日志記錄文檔: http : //httpd.apache.org/docs/2.4/mod/mod_rewrite.html#logging

將此代碼放在您的DOCUMENT_ROOT/.htaccess文件中:

RewriteEngine On
RewriteBase /

RewriteCond %{THE_REQUEST} \s/11/video_player\.php\?id=([^\s&]+) [NC]
RewriteRule ^ lesson/%1? [R=302,L]

RewriteRule ^lesson/([^/.]+)/?$ /11/video_player.php?id=$1 [L,QSA,NC]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM