Thank you for reading...
2008/10/26 18:33
这个问题,在网站迁移时,如果考虑前后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=x
尝试多种方式未果。
如果带参数的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]
假设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=x

尝试多种方式未果。
如果带参数的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
有个搜索框,搜索后实现地址是show.php?q=xxx,想让其显示为show.html?q=xxx,通过Rewrite实现。
直接想当然的写出:
失败,根本不认这条。
查了下文档,似乎应该用RewriteCond来实现,测试了N回,终于成功。
%1就是获取到的q=xxx啦:)
直接想当然的写出:
RewriteRule ^show.html?q=(\w+)$ show.php?q=$1
失败,根本不认这条。
查了下文档,似乎应该用RewriteCond来实现,测试了N回,终于成功。
RewriteCond %{QUERY_STRING} ^(q=.*)$
RewriteRule ^show.html(.*) show.php?%1 [L]
RewriteRule ^show.html(.*) show.php?%1 [L]
%1就是获取到的q=xxx啦:)
2006/11/24 17:14
新建用户
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
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





