请教mac apache rewritee设定到目录

ubuntu下apache rewrite的设置
ubuntu下apache rewrite的设置
解决方法一
这两天把自己的站点移到了Ubuntu 9.04底下,要弄伪静态的页面,需要启用Apache的rewrite模块。在其他的Linux版本中,这个问题似乎要容易解决一些,但是在ubuntu下,就有点不大一样。&
需要通过命令,或者自己重新创建个软连接才可以。&
命令是:sudo a2enmod rewrite&
软连接是:sudo ln -s /etc/apache2/mods-available/rewrite.load /etc/apache2/mods-enabled/rewrite.load &
因为Ubuntu下,Apache的配置文件及目录结构不大一样,所以mods-avalilable下的是可用的模块,而真正启用了的模块是在mods-enable目录底下的。所以自己创建软连接也可以实现启用rewrite模块。&
除 了启用rewrite外,还有地方需要修改的,如果你的站点只有一个,那修改/etc/apache2/sites-available /default这个文件就可以,如果你是的,那就修改自己的/etc/apache2/sites-available /www.orioner.net.conf(我的虚拟主机配置文件)这个文件了。&
&Directory /&&
Options FollowSymLinks&
AllowOverride None(修改为AllowOverride All)&
&/Directory&&
&Directory &/var/orioner&&&
Options Indexes FollowSymLinks MultiViews&
AllowOverride None(修改为AllowOverride All)&
Order allow,deny&
allow from all&
&/Directory&
最后,别忘了使用下列指令来重启 Apache:
sudo /etc/init.d/apache2 restart.
您对本文章有什么意见或着疑问吗?请到您的关注和建议是我们前行的参考和动力&&
您的浏览器不支持嵌入式框架,或者当前配置为不显示嵌入式框架。百度提供的广告:
当前位置: >
Apache Rewrite 中文问题
Apache Rewrite 中文问题
原来网站在IIS 上面挂着,由于空间不稳定,所以转到 linux上面来。
由于linux 上面不认中文目录。所以采用重定向的方式来改变路径,这下有问题了。
下面是.htaccess重写规则
RewriteEngine on
RewriteBase /
RewriteRule ^帮助中心(.*)$ /help$1 [L,R=301]
RewriteRule ^程序外包(.*)$ /soft$1 [L,R=301]
RewriteRule ^仿站建设(.*)$ /fangzhan$1 [L,R=301]
RewriteRule ^付款方式(.*)$ /pay$1 [L,R=301]
RewriteRule ^公司新闻(.*)$ /news$1 [L,R=301]
RewriteRule ^公司业务(.*)$ /business$1 [L,R=301]
RewriteRule ^管理软件(.*)$ /oasoft$1 [L,R=301]
RewriteRule ^合同下载(.*)$ /htxz$1 [L,R=301]
RewriteRule ^技术文档(.*)$ /code$1 [L,R=301]
RewriteRule ^技术文档/使用技巧(.*)$ /code/jq$1 [L,R=301]
RewriteRule ^加盟合作(.*)$ /jmhz$1 [L,R=301]
RewriteRule ^联系我们(.*)$ /lx$1 [L,R=301]
RewriteRule ^模板开发(.*)$ /template$1 [L,R=301]
RewriteRule ^网站安装(.*)$ /setup$1 [L,R=301]
RewriteRule ^网站公告(.*)$ /g$1 [L,R=301]
RewriteRule ^网站优化(.*)$ /seo$1 [L,R=301]
RewriteRule ^招聘英才(.*)$ /job$1 [L,R=301]
这样输入 /技术文档/ 会自动转到 /code/ IE 6 Firefox 都支持。
在百度中搜索原来网站收录的页面 site:
点其中一个发现不能打开。
右击查看源码,/%BC%BC%CA%F5%CE%C4%B5%B5/java/184.html
而google 中是:
/%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3/java/53.html
很明显百度中是gbk 编码 而 google 中是utf-8编码
这下重写规则就有了问题,来自google的可以正确被转向,而百度的会报404找不到页面,考虑到本站流量多来自百度。就不能这样设置。
RewriteRule 还有一个选项目是 NE 表示不对url进行解码
RewriteRule ^技术文档(.*)$ /code$1 [L,R=301,NE]
这样写百度就能打开并转向到新页面。
最后解决方法是这样的,先生成的中文html全部用ftp 传到服务器上,保证百度原来的链接都可以正常打开。
重写模式,以标准的utf-8方式设置,让百度自己去抓吧,等百度把页面变回来,我在把这些文件删除。
以后最好不要用中文URL 除非你在windows下面用。帝国CMS教程:伪静态Apache的Rewrite规则设置-源码库|专注为中国站长提供免费商业网站源码下载!
当前位置:----帝国CMS教程:伪静态Apache的Rewrite规则设置
帝国CMS教程:伪静态Apache的Rewrite规则设置
# 将 RewriteEngine 模式打开
RewriteEngine On
#信息内容页:showinfo-[!--classid--]-[!--id--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^showinfo-(.+?)-(.+?)-(.+?)\.html$ /e/action/ShowInfo\.php\?classid=$1&id=$2&page=$3
#信息列表:listinfo-[!--classid--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^listinfo-(.+?)-(.+?)\.html$ /e/action/ListInfo/index.php?classid=$1&page=$2
#标题分类列表页:infotype-[!--ttid--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^infotype-(.+?)-(.+?)\.html$ /e/action/InfoType/index.php?ttid=$1&page=$2
#TAGS信息列表页:tags-[!--tagname--]-[!--page--].html
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^tags-(.+?)-(.+?)\.html$ /e/tags/index.php?tagname=$1&page=$2
以上都是默认的Rewrite规则设置
相关帝国CMS教程:
相关资源下载:
帝国CMS教程搜索
帝国CMS教程推荐
热门源码推荐
热门帝国CMS教程
©2012阅读文章正文
windows下Apache Rewrite .htaccess 设置
一、打开httpd.conf文件: 找到LoadModule rewrite_module modules/mod_rewrite.so这行,将前面的注释符号&#&去掉; 如果没有这行,请添加。 并确认apache安装目录下的modules文件夹中是否有mod_rewrite.so这个文件。 二、站点配置: 找到Directory配置节点,如:&Directory &E:/wwwroot&& httpd.conf文件中默认是:AllowOverride None 将其改成 AllowOverride All 即可。 重启Apache服务!至此rewrite生效。
发表评论(拉取统计信息……)
超过&人围观,

我要回帖

更多关于 mac apache rewrite 的文章

 

随机推荐