htaccess伪静态规则 (htaccess:常见问题和解决方法)

htaccess

htaccess文件是Apache服务器中一种非常重要的配置文件。它的主要作用是用来控制网站的访问和URL的重写。在htaccess文件中,我们可以定义各种规则来实现伪静态,这样可以使得动态网址看起来像静态网址一样,更加观和优化。

使用htaccess文件前,我们需要确保服务器已经开了mod_rewrite模块可以在Apache的配置文件中进行开启,或者通过.htaccess文件中的RewriteEngine On指令进行开启。

那么如何实现伪静态呢?下面是一些常见的htaccess伪静态规则:

1. 隐藏扩展名

我们可以通过htaccess文件来隐藏URL中的文件扩展名。例如,将http://www.example.com/about.php显示为http://www.example.com/about。

以下是隐藏扩展名的htaccess规则:

RewriteEngine OnRewriteCond %{REQUEST_FILENAME} !-dRewriteCond %{REQUEST_FILENAME}.phpfRewriteRule ^([^.]+)/?$ $1.php [L]

这个规则首先开启RewriteEngine,然后判断请求的文件不是一个目录,并且带有.php扩展名的文件。最后,将URL中的文件扩展名去掉,实现隐藏扩展名的效果。

2. 美化URL

除了隐藏扩展名,我们还可以通过htaccess文件来美化URL,使得它更加直观和可读。例如,将http://www.example.com/product.php?id=1显示为http://www.example.com/product/1。

以下是美化URL的htaccess规则:

RewriteEngine OnRewriteRule ^product/([0-9]+)$ product.php?id=$1 [L]

这个规则首先开启RewriteEngine,然后匹配URL中以product/开头,后面跟着一个或多个数字的模式。最后,将这个模式重写为product.php?id=1的形式,实现URL的美化。

3. 重定向URL

有时候我们需要将某个URL重定向到另一个URL,这可以通过htaccess文件来实现。例如,将http://www.example.com/old-page重定向到http://www.example.com/new-page。

以下是重定向URL的htaccess规则:

RewriteEngine OnRewriteRule ^old-page$ /new-page [R=301,L]

这个规则首先开启RewriteEngine,然后匹配URL中的old-page。最后,将这个URL重定向到/new-page,并返回301永久重定向状态码。

4. 自定义错误页面

通过htaccess文件,我们可以为不同的HTTP错误代码自定义错误页面。例如,将404错误重定向到一个自定义的404页面。

以下是自定义错误页面的htaccess规则:

ErrorDocument 404 /404.html

这个规则定义了当发生404错误时,重定向到/404.html页面。

htaccess文件是Apache服务器中非常重要的配置文件,可以用来实现伪静态和其他很多功能。通过隐藏URL中的文件扩展名、美化URL、重定向URL和自定义错误页面,我们可以使得网站更加美观、友好和优化。


htaccess 伪静态的规则怎么设置

利用htaccess文件可以很好的进行站点伪静态,并且形成的目标地址与真正的静态页面几乎一模一样,如abc.html等,伪静态可以非常好的结合SEO来提高站点的排名,并且也能给人一种稳定的印象。由于伪静态必须要完全根据不同的站点进行不同的设置,因此,我们仅能简单介绍其原理,给出几个常用程序的示例:若要通过htaccess使用伪静态,则必须空间商支持Rewrite模块,该模块负责URL的重写。否则即便是设置好了,也无法使用,并且还有可能出现500错误。下面是Discuz的伪静态设置文本:# 将 RewriteEngine 模式打开 RewriteEngine On # Rewrite 系统规则请勿修改 RewriteRule ^archiver/((fid|tid)-[0-9]+\.html)$ archiver/index.php?$1 RewriteRule ^forum-([0-9]+)-([0-9]+)\.html$ forumdisplay.php?fid=$1&page=$2 RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+)\.html$ viewthread.php?tid=$1&extra=page\%3D$3&page=$2 RewriteRule ^space-(username|uid)-(.+)\.html$ space.php?$1=$2 RewriteRule ^tag-(.+)\.html$ tag.php?name=$1以下是Phpwind的伪静态设置文本:RewriteEngine On RewriteBase / RewriteRule ^(.*)-htm-(.*)$ $1.php?$2 RewriteRule ^(.*)simple/([a-z0-9\_]+\.html)$ $1/simple/index.php?$2此外,还有很多种不同的规则,如果想制定出适用于自己站点的伪静态规则,必须熟悉网站结构和正则表达式。

关于htaccess伪静态规则的问题

冲突了,第一个不用(.*),也用([a-z]+)试试

一个Apache服务器伪静态文件.htaccess中,两条伪静态规则发生冲突,求解决方案

试试把mobile放前面,最后加[L].RewriteRule^mobile/(.*)/([a-z0-9_]+)-gold\.html$mobile/game/gold.php?glname=$2&%{QUERY_STRING}[L]RewriteRule^(.*)/([a-z0-9_]+)-gold\.html$game/gold.php?glname=$2&%{QUERY_STRING}

伪静态报错,返回404

这种问题就是url_rewrite没有设置造成的。首先,你需要判断你的web服务器是什么,一般的服务器不是apache,就是nginx,它们对应的rewrite设置不一样,你需要区分处理。1如果是apache,检查伪静态模块是否开启了,开启之后在根目录添加.htaccess文件,里面添加相应的语句,这个网上都有。2如果是nginx,需要在nginx.conf配置里面配置对应的伪静态语句,如果是虚拟目录,就到虚拟目录里面的配置文件里面添加对应的伪静态语句。

网站URL伪静态处理,碰到这些该怎么去做

怎么进行URL伪静态处理?在我们成功搭建一个新的网站后,我们就有必要做下网站的SEO基础设置,其中重要的一点就是URL伪静态处理,今天上海SEO就给大家介绍什么是URL伪静态怎么设置URL伪静态。 URL伪静态也就是做静态化处理,是将网站动态的URL地址通过处理生成静态的URL地址,这也是我们SEO优化的基础设置之一。同URL静态化相反,URL动态化的特征是网页的网址里面一般通常会包含类似“?”的特殊字符。 URL伪静态的作用是使网站符合搜索引擎的索引原则,促进网站的排名。虽然说搜索引擎现在可以收录动态地址的网页,但是在排名上还是静态化的网页比较有优势,所以做SEO优化的朋友们,建议还是让网站静态化比较好。那么该怎么设置URL伪静态呢?上海SEO就给大家介绍下。 其实在不同系统的空间,网站伪静态的设置方法都不一样,下面就以Linux系统的伪静态设置方法给大家介绍。首先我们登录Wordpress的管理后台,在“设置”—“固定链接”的常用设置里将固定链接设置成“自定义”,并在其输入框中输入“/%category%/%post_id%.html ”这串代码,保存更改,这样就完成了伪静态设置,很简单吧,大家也去试试吧。 设置好网站的URL静态化,当我们再重新打开网页时就不会在URL地址看到类似“?”的特殊符号,这样完成了SEO基础设置的第一步。同时这样的设置对于网络蜘蛛抓取也是非常友好的,希望我的介绍可让大家对SEO优化多一点认识以及领悟。

PHP伪静态.htaccess文件中GET参数获取问题

^action-method.html?cid=(\d+)$ /index.php?a=acrion&m=method&cid=$1 其他情况对应替换就可以,$1对应前边的括号

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容