1
重寫
我想實現我的博客門戶以下使用的htaccess:的.htaccess - 3種不同的3層不同的URL結構
結構1
example.domain.com/link/sublink - > /blogdisplay.php?page=example &第2頁=鏈路& PAGE3 =子鏈路
結構2
en.domain.com/link/sublink/subsublink - > /index.php?lang=en &頁=鏈接&第2頁=子鏈路& PAGE3 = subsublink
結構3
domain.com/鏈接/子鏈接/子鏈接 - > /index.php?page=link & page2 =子鏈接& page3 =子鏈接
我該如何做到這一點?這是我當前的代碼(這完全不正確的,現在處理的語言,但其他兩個URL結構正常工作):
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [L,R=301]
RewriteCond %{HTTP_HOST} !^www.[NC]
RewriteCond %{HTTP_HOST} ^([a-zA-Z0-9-]{3,})\.domain.com$ [NC]
RewriteRule ^$ blogdisplay.php?page=%1 [L,QSA]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+?)\.domain\.com$ [NC]
RewriteRule ^([a-z0-9-]+)/?$ blogdisplay.php?page=%1&page2=$1 [L,QSA]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTP_HOST} ^(.+?)\.domain\.com$ [NC]
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/?$ blogdisplay.php?page=%1&page2=$1&page3=$2 [L,QSA]
## If the request is for a valid file
RewriteCond %{REQUEST_FILENAME} -f
## don't do anything
RewriteRule^- [L]
RewriteRule ^([a-z0-9-]+)/?$ index.php?page=$1 [L,NC]
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?page=$1&page2=$2 [L,NC]
RewriteRule ^([a-z0-9-]+)/([a-zA-Z0-9-]+)/([a-zA-Z0-9-]+)/?$ index.php?page=$1&page2=$2&page3=$3 [L,NC]
我可以將它移動到下面還是上面? (你在上面說的語言規則下面說 –
低於我的'上面的建議的規則':)對不起,語言混亂。即使你在頂部放置'如果請求是針對有效的文件規則',也可以。 – anubhava
工程就像一個魅力。謝謝! :) –