Zhang Jiuan’ Notes

Apache服务器Rewrite配置

   对于一个网站来讲,如果能实现url自已管理是十分有意义的,比如:
/bbs对应~/jiuanblog/bbs/index.php是十分有意思的,一方面可以对外隐藏实现,
即使用网站的用户不知道您的网站是php还是jsp、asp等具体实现,这样对安全是十分有益的。
比如我们想对资源文件不进行重定向,但对实际页面请求就对其进行重定向,则我们可以用如下配置:
    RewriteEngine on
    RewriteCond %{REQUEST_URI} ^/$
    RewriteRule ^.*$ /bbs
    RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.psd)
    RewriteRule ^/(.*)$ $1/index.php
说明:
RewriteEngin on打开Rewrite引擎
RewriteCond %{REQUEST_URI} ^/$
RewriteRule ^.*$ /bbs下然后继续后续配匹
 
对于主页的访问,重定向到bbs下的
    RewriteCond %{REQUEST_URI} !^.*(\.css|\.js|\.gif|\.png|\.jpg|\.jpeg|\.psd)
    RewriteRule ^/(.*)$ $1/index.php
对于非资源文件,则映射到该路径下对应的php文件。
另外还有-f -d等参数,可以判断文件是否存在等。
相关参考:
http://blog.csdn.net/zfrong/archive/2008/11/06/3237190.aspx
http://blog.csdn.net/zfrong/archive/2008/11/06/3237190.aspx
 
thx
张久安
If you enjoyed this post, make sure you subscribe to my RSS feed!

虚拟主机配置经验

自已租了一台主机,装了一个apache,但问题也随之页来?如何让我的一个主机对外提供多个服务呢?首先我想到的是端口,比如有两个blog: blogA; blogB,一个blogA监听80端口,另一个blogB则监听8080端口,这样的确是一个不错的办法,我也轻页易举的实现了这样的配置。如下:
NameVirtualHost *:80
Listen 80
NameVirtualHost *:8080
Listen 8080
<VirtualHost *:80>
    ServerAdmin webmaster@jiuansafe.cn
    DocumentRoot /home/blog/blog
    <Directory />
        Options FollowSymLinks
        AllowOverride all
    </Directory>
    <Directory /home/blog/blog>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride all
        Order allow,deny
        allow from all
    </Directory>
    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory “/usr/lib/cgi-bin”>
        AllowOverride all
        Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
        Order allow,deny
        Allow from all
    </Directory>
    ErrorLog /var/log/apache2/error.log
    # Possible values [...]

,

返回顶部