我會簡要通知您我在做什麼以及在哪裏需要您的幫助。使用htaccess重寫網址
我正在建設博客託管網站。我完成了CMS,現在我正在做用戶頁面。
我的想法是創建.htaccess規則,以便每個用戶和博客所有者都擁有自己的博客URL,如:XXX.bloghost.com
,其中XXX
是博客名稱或博客所有者名稱。
只是提一提,我會用2個參數中的URL所以這裏有網址的範例:
XXX.bloghost.com -> www.bloghost.com/index.php?user=XXX
XXX.bloghost.com/NEWS -> www.bloghost.com/index.php?user=XXX&category=NEWS
XXX.bloghost.com/NEWS/SAMPLE -> www.bloghost.com/index.php?user=XXX&category=NEWS&post=SAMPLE
這裏是我當前的.htaccess文件(修訂版):
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteBase/
RewriteCond %{HTTP_HOST} !www.bloghost.com$ [NC]
RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+).bloghost.com [NC]
RewriteRule (.*) %2/$1 [L]
RewriteRule (.+)/(.+)/(.+) blog.php?blog_id=$1&category=$2&post=$3 [L,QSA]
RewriteRule (.+)/(.+) blog.php?blog_id=$1&category=$2 [L,QSA]
RewriteRule (.+) blog.php?blog_id=$1 [L,QSA]
ErrorDocument 404 /error.php
我會真的需要一些幫助。我嘗試並遵循了幾個教程,但沒有運氣。
另外,這個.htaccess是否可以阻止或重定向所有錯誤輸入或不存在的URL到某個頁面?
謝謝真我,以後我會嘗試這一點,結果後在這裏...乾杯M8 – Ivan
我只是想你sugestion,但沒有運氣 的URl www.bloghost.com/XXX/NEWS就像一個魅力,但像XXX.bloghost.com URL給我「服務器找不到」錯誤。這是我的.htaccess文件:(WWW) 選項+的FollowSymLinks 選項+指標 RewriteEngine敘述在 RewriteBase/ 的RewriteCond%{HTTP_HOST} www.otvorko.net $ [NC] 的RewriteCond%{HTTP_HOST} ^? (。*)/(。+)/(。+)博客。[[a-z0-9 - ] +)otvorko.net [NC] RewriteRule(。*)%2/$ 1 [L] RewriteRule RewriteRule(。+)/(。+)blog.php?blog_id = $ 1&category = $ 2 [L,QSA] RewriteRule(。+)博客。 php?blog_id = $ 1 [L,QSA] – Ivan
您是否爲通配符正確配置了DNS和Web服務器(Apache)? 'ServerAlias www.otvorko.net dotvorko.net * .otvorko.net'爲apache和類似'* .otvorko.net一個111.222.33.44'在域dns記錄? – atma