分享、学习、提高
Thank you for reading...
2008/10/26 18:33
Tags: , ,
这个问题,在网站迁移时,如果考虑前后URL,可能会碰到。

假设Rewrite是这样的:

RewriteRule ^test.html$ http://www.9enjoy.com [R=301,L]

那么访问test.html没有问题,

本机访问,http://hx/test.html
正确的Rewrite到http://www.9enjoy.com

但访问:
http://hx/test.html?id=x
却Rewrite到了http://www.9enjoy.com?id=x
可是,我不希望有这个id=xunhappy

尝试多种方式未果。

如果带参数的URL,Redirect到一个页面,倒是可以。
RewriteRule ^test.html$ http://www.9enjoy.com/tag.php [R=301,L]
这个规则没有问题
访问test.html?id=x,照样到http://www.9enjoy.com/tag.php,正确!
但目标是目录时,就会带上参数:(


@@081027@@UPDATE

想不出其它方法,就用有参数的Rewrite到301.php,这页的内容是php写的301Redirect到目标网站。
RewriteEngine On
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^(.*)$ http://www.9enjoy.com/ [R=301,L]    
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteRule ^(.*)$ /301.php [L]
2008/06/24 19:27
Tags:
有个搜索框,搜索后实现地址是show.php?q=xxx,想让其显示为show.html?q=xxx,通过Rewrite实现。

直接想当然的写出:
RewriteRule ^show.html?q=(\w+)$  show.php?q=$1


失败,根本不认这条。

查了下文档,似乎应该用RewriteCond来实现,测试了N回,终于成功。
RewriteCond %{QUERY_STRING} ^(q=.*)$
RewriteRule ^show.html(.*) show.php?%1 [L]


%1就是获取到的q=xxx啦:)
2006/11/24 17:14
Tags: ,
新建用户
useradd ftphx -s -s /sbin/nologin -d /home/hx/www
 -d设置用户默认目录
 -s不允许其登录,即无登录系统的权限

给用户设置密码
passwd ftphx
使ftphx能控制/home/hx/www下所有文件
chown -R ftphx:ftphx /home/hx/www
这样就可以使用ftphx用户来控制这个目录了。


新建mysql用户管理某数据库。
Grant All on db.* to db identified by '123456'


如果你认为每次启动apache都必须去这个目录,或者输入这么长的路径很麻烦,可以用ln做链接如
ln -s /usr/local/apache2/bin/apachectl /usr/sbin/apache
就可以用 apache start/stop/restart等操作了。


上次安装apache忘了加--enable-module=rewrite,因此不支持rewrite。
这次重装
#./configure --prefix=/usr/local/apache2 --enable-modules=most --enable-rewrite --enable-so
make;make install

后gump告诉我,原来可以不用重装,如加上expires模块:
bin/apxs -i -a -c /root/software/httpd-2.0.55/modules/metadata/mod_expires.c

以下命令查看已安装的模块
bin/httpd -l
分页: 1/1 第一页 1 最后页 [ 显示模式: 摘要 | 列表 ]