[英]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.