Apache中使非伪静态url跳转到伪静态url的方法
如何使用.htaccess使非伪静态页面301跳转到伪静态页面然后再跳转?这是一个比较蛋疼的跳转。因为不小心就会搞成死循环导致页面无法打开。好在问题最终解决了。记录并分享出来,给需要的朋友借鉴借鉴。
规则如下:
RewriteRule ^article-([0-9]+).html$ /article.php?id=$1&r=1 [L] RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ [NC] RewriteRule ^article.php$ /articlel-%1.html? [L,R=301]
注意:
创建.htaccess文件,Windows是不允许将文件命名为 . 开头的,我们可以利用UE/EditPlus等工具另存为 .htaccess来实现.
创建后,修改.htaccess文件内容为你的程序对应的伪静态规则,上传到程序文件目录即可实现.这里的程序文件目录请看FTP目录结构篇.下面列出几个常用程序的规则
相关推荐
-
Apache 虚拟目录和默认首页的设置
虚拟目录 1.找到"conf/httpd.conf" 文件 2.在节点:<IfModule alias_module>里增加 Alias /aidd2008 "D:/php/web/aidd2008" 其中 aidd2008 是你想要访问的虚拟目录: D:/php/web/aidd2008 为物理路径,以[/]代替[\]" 我们就在</IfModule>后面接着加: 复制代码 代码如下: <Directory "D:
-
Apache中解决动态地址跳转死循环的方法
问题背景:矿秘书网的历史遗留问题,刚开始由于各种问题,一些动态页面都是用了?id=参数的形式,对seo/seo.html" target="_blank">搜索引擎不友好,经常多方面考虑,还是改成伪静态.这里劝各位站长在做新站时,尽量使用伪静态,不仅对搜索引擎,对用户体验也友好. 问题描述:需要将 /news/show_news.php?id=1 形式的地址伪静态成 /news/1 形式,而且 /news/show_news.php?id=1 在浏览器打开要 301 跳
-
Apache mod_rewrite实现HTTP和HTTPS重定向跳转
当你的站点使用了HTTPS之后,你可能会想把所有的HTTP请求(即端口80的请求),全部都重定向至HTTPS(即端口443).这时候你可以用以下的方式来做到:(Apache mod_rewrite) <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://jb51.net/$1 [R=301,L] </IfModule&
-
Apache Rewrite实现URL的301跳转和域名跳转
如果要想用到rewrite模块,必须先安装或加载rewrite模块.方法有两种一种是编译apache的时候就直接安装rewrite模块,别一种是编译apache时以DSO模式安装apache,然后再利用源码和apxs来安装rewrite模块. 基于服务器级的(httpd.conf)有两种方法,一种是在httpd.conf的全局下直接利用RewriteEngine on来打开rewrite功能;另一种是在局部里利用RewriteEngine on来打开rewrite功能,下面将会举例说明,需要注意
-
Apache的Rewrite设置多域名301跳转到主域名的方法
如果网站有多个域名,而又不希望分散权重,则可以通过开启Rewrite设置,将多个域名都301跳转到主域名之下,具体代码如下: RewriteEngine On RewriteCond %{HTTP_HOST} ^mituxiu.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.mituxiu.com [NC,OR] RewriteCond %{HTTP_HOST} ^metooshow.com [NC] RewriteRule ^(.*)$ http://www
-
windows中apache 301页面跳转实现方法
实现301页面跳转之前需要对apache配置做下修改如 apache默认是没有开启mod_rewrite模块的, 1,将 复制代码 代码如下: #LoadModule rewrite_module modules/mod_rewrite.so 这一行前面的#号去掉,http.conf的站点目录配置,另一种是空间用户常用的 改为 复制代码 代码如下: LoadModule rewrite_module modules/mod_rewrite.so, 2,将AllowOverride None 改为
-
apache设置自动将http跳转到https的方法
复制代码 代码如下: <Directory "/opt/fivetrees">## Possible values for the Options directive are "None", "All",# or any combination of:# Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews## Note that "
-
Apache无法自动跳转却显示目录的解决方法
Apache无法自动跳转却显示目录这是因为Apache服务器下conf/httpd.conf没有配置好,其默认是不跳转,直接显示目录 首先,我们需要禁止Apache直接显示目录. 方法在搜索Options Indexes FollowSymLinks,将其该为Options FollowSymLinks 其实,解决Apache无法自动跳转的问题,这是因为Apache本来只是一个http服务器,不会自动跳转到index.php页面.需要定位<IfModule dir_module>这一项,将Di
-
让apache显示目录列表的配置方法
1.apache中显示目录列表 在http.conf中加入如下代码(如有虚拟主机配置,加在虚拟主机配置段内),并把主目录内的index.pho,index.html,index.htm文件删除 复制代码 代码如下: Alias /download "/download" <Directory "/download"> Options Indexes Order allow,deny IndexOptions Charset=UTF-8
-
禁止apache显示目录索引的常见方法(apache禁止列目录)
禁止Apache显示目录索引,禁止Apache显示目录结构列表,禁止Apache浏览目录,这是网上提问比较多的,其实都是一个意思.下面说下禁止禁止Apache显示目录索引的常见的3种方法.要实现禁止Apache显示目录索引,只需将 Option 中的 Indexes 去掉即可. 1)修改目录配置: 复制代码 代码如下: <Directory "D:/Apache/blog.phpha.com">Options Indexes FollowSymLinks # 修改为: Op
随机推荐
- jQuery动态星级评分效果实现方法
- vbs实现无黑框无DOS窗口隐藏批处理运行窗口
- Git发现git push origin master 报错的解决方法
- 详解git中配置的.gitignore不生效的解决办法
- 快速排序和分治排序介绍
- Js Jquery创建一个弹出层可加载一个页面
- JS判断图片是否加载完成方法汇总(最新版)
- php usort 使用用户自定义的比较函数对二维数组中的值进行排序
- C语言实现汉诺塔游戏
- Mysql更换MyISAM存储引擎为Innodb的操作记录总结
- 简单解析MySQL中的cardinality异常
- docker-registry使用笔记
- linux CentOS6.5 yum安装mysql5.6
- JAVA collection集合之扑克牌游戏实例
- 运用jQuery定时器的原理实现banner图片切换
- 用Zend Studio+PHPnow+Zend Debugger搭建PHP服务器调试环境步骤
- yepnope.js 异步加载资源文件
- Linux利用nc命令监控服务器端口的方法
- JS数学函数Exp使用说明
- 深入C++ 函数映射的使用详解