您好~你的那个.htaccess伪静态放置根目录web服务器根目录不支持的问题怎么解决的!

请教在.htaccess的整体伪静态规则中排除某些目录伪静态的实现方法?
最近在.htaccess的伪静态中遇到一些问题,实在找不到解决方法,所以来知乎请教有经验的朋友们:1.将针对网站根目录文件夹的访问伪静态到网站某个文件夹下:# 根目录文件夹访问伪静态到cunfang1下RewriteRule ^([a-z0-9A-Z_\-]+)(/)?$ /cunfang1/$1/ [L]上述规则已经正常生效,所有针对根目录的访问都会被伪静态到cunfang1下面的对应文件夹。2.网站根目录下某些文件夹需要进行排除,不进行伪静态,比如/DATA、/images等等,大约数百个,并且没有可以归纳的规则,只能一个一个罗列。请问:第2个要求要如何实现呢?怎么写代码呢?或者:是不是我的思路错了?用其他.htaccess的方式能否实现伪静态并且排除部分目录的目的呢?万分感谢!!!
RewriteCond $1 !^(DATA|images|otherThings)
已有帐号?
无法登录?
社交帐号登录Apache下如何建立以及利用.htaccess文件实现伪静态
下利用【】文件可以实现,相比纯静态网站来说信息的时效性要好,维护便利性也好好很多,并且对于访客和蜘蛛来说,都比问号带一长串参数来的友好,所以条件允许的话建议使用。虽然性能有所下降,不过对于如今大部分的服务器来说,这个性能的损失还是可以承受的。
一、如何建立【.htaccess】文件
直接新建一个文件,并且命名为【.htaccess】是无法实现的,这是一个只有扩展名,没有文件名的文件,系统会提示输入文件名。我们可以用如下方法实现:
1、下载一个这个文件;
2、使用FTP、DW、记事本等软件建立,FTP可以直接建立这个文件,软件的话新建一个文件另存一下就可以了;
3、使用CMD或其他操作系统界面重命名文件为【.htaccess】;
4、【.htaccess】文件通常放置在根目录下,也可放置在子目录中,其效力范围为相对当前的路径,路径规则与html一致。
二、让【.htaccess】文件生效
有时候放置了【.htaccess】文件发现并没有作用,是因为Apache没有开启它,我们可以在Apache的安装目录的【conf】目录中找到【httpd.conf】文件,使用记事本打开,开启这个选项:
1、找到【LoadModule rewrite_module】,去掉前面的【#】号;
2、找到所有【AllowOverride None】修改为【AllowOverride All】
3、如果没有【AllowOverride None或All】这条,则找到【&Directory /&】和【&/Directory&】,在这之间加上【AllowOverride All】;
4、重启Apache即可生效。
伪静态路径:【/news/post-16.html】
真实路径:【/index.php?m=post&c=index&catdir=news&id=16】
【.htaccess】写法:
============
RewriteEngine on
RewriteRule /([a-zA-Z]{1,})/post-([0-9]{1,})\.html$ /index.php?m=post&c=index&catdir=$1&id=$2
============
当然,如果是放在根目录下,使用相对路径即可:
============
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})/post-([0-9]{1,})\.html index.php?m=post&c=index&catdir=$1&id=$2
============
注意,因为显示的问题,可能看不清空格,可以复制代码粘贴到其他软件查看。
文件中【RewriteEngine on】表示开启rewrite;
【RewriteRule】表示规则,每行一条,格式为【RewriteRule 匹配用户提交的的URL 服务器上脚本真正的URL】;
路径中的染色部分为参数,匹配时为标准的正则表达式,真实路径中的参数使用【$1】、【$2】、【$3】从左到右依次替代匹配URL中的正则表达式。
建立一个.htaccess文件,写入以下内容:
============
RewriteEngine on
RewriteRule ([a-zA-Z]{1,})/post-([0-9]{1,})\.html test.php?get1=$1&get2=$2
============
再建立一个test.php文件,写入以下内容:
============
echo '你的get1是:' . $_GET['get1'];
echo '&br/&';
echo '你的get2是:' . $_GET['get2'];
============
保存到同目录。
访问http://localhost/news/post-15.html
如果页面显示:
============
你的get1是:news
你的get2是:15
============
即宣告成功。
社会化评论
二维码入口正在加载信息...
2015年五月
2014年十二月
2014年十一月
2014年十月
2014年九月
2013年四月
2013年三月
2013年一月
2012年十二月
2012年十一月
2012年十月
2012年九月
2012年八月
2012年七月
2012年五月
2012年四月
2012年三月
2012年二月
2012年一月
2011年十二月
2011年十一月
2011年十月
2011年九月
2011年八月
2011年七月
2011年六月
2011年五月
2011年四月
2011年三月
2011年二月
2011年一月
2010年十二月
2010年十一月
2010年十月
2010年九月
2010年八月
2010年七月
2010年六月
2010年五月
2010年四月
2010年三月
2010年二月
2010年一月
2009年十二月
2009年十一月
2009年十月
2009年九月
2009年八月
2009年七月
2009年六月
2009年五月
2009年四月
2009年三月
2009年二月
2009年一月
2008年十二月
2008年十一月
2008年十月
2008年九月
2008年八月
2008年七月
2008年六月
2008年五月
2008年四月
2008年三月
2008年二月
2008年一月
2007年十二月
2007年十一月
2007年十月
2007年九月
2007年八月
2007年七月
2007年六月
2007年五月
2007年四月
2007年三月
2007年二月
2007年一月
2006年十二月
2006年十一月
2006年十月
2006年九月
2006年八月
2006年七月
2006年六月
2006年五月
2006年四月
2006年三月
2006年二月
2006年一月
2005年十二月
2005年十一月
2005年十月
2005年九月
2005年八月
2005年七月
2005年六月
2005年五月
2005年四月
2005年三月
2005年二月
2005年一月
2003年七月ECShop(34)
1、首先,可以通过以下链接下载相关的配置文件:
2、然后打开ISAPI_Rewrite3_0082.zip压缩包,可先看下安装说明。然后点击ISAPI_Rewrite3_0082.msi进行安装,安装过程中建议使用默认配置(同意协议后一直点下一步):
3、安装完毕后,到安装路径C:\Program Files\Helicon\ISAPI_Rewrite3下,用压缩包里的两个.dll文件对其相应文件解压覆盖(注意:覆盖不成功时要关闭IIS服务,给ISAPI_Rewrite.dll 这个文件添加administrator完全控制的权限),并把压缩包“安装说明”里的注册信息复制到httpd.conf文件里:
4、安装配置好后还不能正常使用的,要对相关文件进行权限设置。
首先在ISAPI_Rewrite3目录添加IIS_WPG用户组,并设置只读取
然后对目录下的httpd.conf error.log Rewirte.log 文件修改权限:
Everyone:只读
SYSTEM:全权
对ISAPI_Rewrite.dll的权限修改:
Everyone:读取 读取运行
SYSTEM:全权
其他文件权限均为:
SYSTEM:全权
Administrators:全权
IIS_WPG:只读
最后在需要使用伪静态的网站根目录添加IIS_WPG用户组,并设置只读取
5、最后,重启IIS,点击网站属性中重写设置里的Edit,添加相应的规则就可以了。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:5031次
排名:千里之外
原创:21篇
转载:22篇
(1)(2)(1)(1)(3)(6)(11)(3)(13)(1)(1)}

我要回帖

更多关于 web服务器根目录 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信