我会简要通知您我在做什么以及在哪里需要您的帮助。使用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