wordpress主机修改固定链接,linux虚拟主机后台怎么添加伪静态规则?

查看: 1125|回复: 7
Linux+Nginx主机上修改WordPress的伪静态规则影响Discuz?
主站为WordPress生成网站,今天修改了WordPress的固定链接格式,重新上传了伪静态规则之后,发现论坛里的帖子都打不开了,全404了,这是为什么?那个伪静态规则影响了论坛的伪静态?现在论坛要怎么设置才能正常呢?望高手指点。
你 只放了wordpress的伪静态规则 那论坛的呢?
是.htaccess文件吗?论坛根目录下有这个文件。我是在主机设置里进行了伪静态规则的上传保存。论坛是不是也有这种需要上传保存的设置?在这里搜了很久也没见有人提。不知道怎么办了。
如果影响 的话,那就不要修改算了
建议是分开放,除非自己懂得处理规则的写法和混用方法。
问题是我已经上传保存了,也就是修改了服务器端的自定义伪静态设置了,如果不改这个自定义伪静态设置,我的主站的链接就有问题。现在改完了,发现论坛帖子打不开了,这可怎么办呢?
将论坛的规则放到.htaccess文件里面
论坛的目录下有.htaccess文件,内容也应该是对的
Powered by>> 郑重声明:本文由发布,所有内容仅代表个人观点。版权归和共有,欢迎转载, 但未经作者同意必须保留此段声明,并给出文章连接,否则保留追究法律责任的权利! 如果本文侵犯了您的权益,请留言。
阅读本篇文章的童鞋还浏览过一下:
【上一篇】
【下一篇】
站长朋友做个友链吧
Theme by . 92次查询.
加载中……现在的位置:
解决wordpress在西部数码windows主机中的伪静态问题
wordpress伪静态很容易,只需要到管理后台→设置→固定链接,设置好链接格式即可实现。于是我按照方法进行操作了,按照各位大虾的提示,我选择了“自定义结构”,并将其设置为:/%category%/%post_id%.html,但是设置完后问题出现了,首页可以正常打开,所有的文章页面点击即显示该页无法显示。经过了一天的摸索,最终找到了解决办法,现将其共享给大家,希望对大家有帮助,另外,本文是本人的亲生经历,绝非网络复制粘贴,也希望大家能珍惜本人的劳动成果,转载本文请注明本文出自品品网,谢谢。
先讲讲我的使用过的一些方法和经历。我以关键字“wordpress 伪静态 西部数码”进行搜索,返回有第一条结果即为西部数码官方网给出的解决办法,我按照方法进行操作(后来才知道这个方法就是大虾说的404页面法)。可刚刚开始就遇到一个问题,教程上说要建立一个404.php的页面,并放置到网站根目录,对于新手的我在这里就被难住了,这里所指的“网站根目录”是FTP登录后的初始位置还是上传网站程序的“wwwroot”呢?于是我两个都试了下,结果证明是放在“wwwroot”文件夹下。按照说明中的两步之后,网站伪静态已经成功,我欣喜若狂!点击中文tag也正常,我以为这样任务就完成了,可是……
我下午,我检查网站的时候,又发现一个重大问题:翻页失效,点击翻页即出现“页面无法找到”,但是不网页无法找到,而是这页内容在本站没有找到。这可是个大问题啊!不可能只让网友只看网站的第一页吧……于是我又开始摸索解决之道!
这里我要先夸一下神奇的百度,通过它搜索到了不少有价值的东西。我通过搜索,又找到另外一种方法解决这种问题,同时也在西部数码的官方网站上看到有关自定义Rewrite规则的相关说明,于是我决定用这种方法再试一次!
首先,我按照之前的反步骤,将之前做过的修改一步一步还原,再按照文章中说的方法进行第二次修改,而通过这次修改,问题得以解决,伪静态是真的成功了!相信也有不少跟我一样的站长有同样的问题,所以我把相关方法总结在下面,希望对大家有用:
方法一:定义动态404页面(虽然在我这没完美解决,但是也放上来,供大家研究、参考)
1、新建一个记事本,写入下面代码保存,并将其重新命名为404.php。上传到网站根目录(wwwroot目录下)。
$qs = $_SERVER['QUERY_STRING'];
$_SERVER['REQUEST_URI'] = substr($qs, strpos($qs, ':80')+3);
$_SERVER['PATH_INFO'] = $_SERVER['REQUEST_URI'];
include('index.php');
2、登录西部数码网站后台管理→虚拟主机管理→错误页面定义→开启动态404页
3、修改网站 /wp-includes/class-wp.php中如下代码(解决静态化后中文tag无法找到问题):
if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = $_SERVER['PATH_INFO'];
$pathinfo = '';
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = $_SERVER['REQUEST_URI'];
if ( isset($_SERVER['PATH_INFO']) )
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'utf-8', 'GBK');
$pathinfo = ”;
$pathinfo_array = explode('?', $pathinfo);
$pathinfo = str_replace("%", "%25", $pathinfo_array[0]);
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'utf-8', 'GBK');
4、到wordpress后台修改固定链接格式,保存即可(具体wordpress固定链接相关格式见文章最下方)。
方法二:自定义Rewrite规则
通过使用这种方法,我的问题完美解决,不知道是否适用于所有人,同时相对于第一种方法,这种方法会更加简单,强烈推荐有这种问题的朋友使用。
西部数码后台管理界面截图
1、到西部数码管理后台,进入虚拟主机管理→ISAPI筛选器设置,点击“开启自定义的URL静态化支持”,随后,会弹出设置成功的对话框,点击确定即可。
2、再点击网页上的“浏览”按钮,进入others/discuz目录,编辑httpd.conf文件,将原文件全部清空,并将下面的代码复制到httpd.conf里。
RegistrationName= wlqcwin
RegistrationCode= 2EAD-35GH-66NN-ZYBA
# # 形式:/PostID.html
# # 自定义链接 /%post_id%.html
#RewriteRule /(about|contact|about-copyright|favor|archives|tags|sitemap|taotao) /index\.php\?pagename=$1
RewriteRule /category/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?category_name=$1&feed=$2
RewriteRule /category/?(.*) /index\.php\?category_name=$1
RewriteRule /author/(.*)/(feed|rdf|rss|rss2|atom)/?$ /wp-feed\.php\?author_name=$1&feed=$2
RewriteRule /author/?(.*) /index\.php\?author_name=$1
RewriteRule /feed/?$ /index.php?feed=rss2
RewriteRule /comments/feed/?$ /index.php?feed=comments-rss2
RewriteRule /comments/feed/?$ /wp-feed\.php/\?feed=comments-rss2
# RewriteRule /([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2
# RewriteRule /([0-9]+)/?([0-9]+)?/?$ /index\.php\?p=$1&page=$2
RewriteRule /([0-9]+).html /index\.php\?p=$1
RewriteRule /page/(.*)/?s=(.*) /index\.php\?s=$2&paged=$1
RewriteRule /page/(.*) /index\.php\?paged=$1
RewriteRule /date/([0-9]{4})([0-9]{1,2})([0-9]{1,2})/([^/]+)/?([0-9]+)?/?$ /index\.php\?year=$1&monthnum=$2&day=$3&name=$4&page=$5
RewriteRule /date/([0-9]{4})/([0-9]{1,2})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&day=$3&page=$4
RewriteRule /date/([0-9]{4})/([0-9]{1,2})/?$ /index\.php\?year=$1&monthnum=$2&page=$3
RewriteRule /([0-9]+).html/(feed|rdf|rss|rss2|atom) /index\.php\?feed=rss2&p=$1
RewriteRule /([0-9]+).html/trackback /wp-trackback\.php\?p=$1
RewriteRule /tag/(.*)/page/(\d+)$ /index\.php\?tag=$1&paged=$2
RewriteRule /tag/(\d+)$ /index\.php\?tag=$
RewriteRule /software-files/(.*) /software-files/$1 [L]
RewriteRule /sitemap.xml /sitemap.xml [L]
RewriteRule /favicon.ico /favicon.ico [L]
RewriteRule /wp-(.*) /wp-$1 [L]
RewriteRule ^/$ /index.php [L]
RewriteRule /(.*) /index.php/$1 [L]
3、此时可能会出现中文TAG无法找到的问题,解决办法如下:打开wp-include目录下的“class-wp.php”文件,并进入编辑状态,修改以下两处代码即可。
第一处修改:
$pathinfo = $_SERVER['PATH_INFO'];
$pathinfo = mb_convert_encoding($_SERVER['PATH_INFO'], 'UTF-8', 'GBK');
第二处修改:
$req_uri = $_SERVER['REQUEST_URI'];
$req_uri = mb_convert_encoding($_SERVER['REQUEST_URI'], 'UTF-8', 'GBK');
4、保存文件,现在刷新网站看看效果吧,所有操作完成。
附:wordpress自定义结构相关规则说明
%year% 文章发表的年份,四位数,如 2004
%monthnum% 月份,如 05
%day% 天,如 28
%hour% 小时,如 15
%minute% 分钟 如 43
%second% 秒,如 33
%postname% 文章标题的别名 (编辑文章/页面时的别名栏)。
%post_id% 文章的唯一ID,如 423
%category% 分类的别名 (新建/编辑分类时的别名栏)。 有层级关系的类型在链接地址里就像有层级的目录。 出于性能原因,强烈不建议使用%category%作为链接地址的开头。
%tag% 标签的别名(新建/编辑标签时的别名栏)。 出于性能原因,强烈不建议使用%tag%作为链接地址的开头。
%author% 作者的别名。
举例:比如你想让你的址按照/jsh/123.html的形式显示,那么你在自定义结构中输入/%category%/%post_id%.html即可,具体按照什么方式进行显示,各位根据自己的理解的对SEO的理解进行设置,非常简单。
【上篇】【下篇】
您可能还会对这些文章感兴趣!
wordpress企业主题
wordpress博客主题
wordpress cms主题
wordpress图片主题
wordpress瀑布流主题
wordpress淘宝客主题这一步提示是否要在www.vpser.net这个网站添加更多的域名,如想把vpser.net 或更多其他的域名绑上。(注:带www和不带www的是不同的域名,如需带www和不带的www的域名都访问同一个网站需要同时都绑定)。如果需要添加更多的域名,如不需要直接输入 n 回车。如需要输入 y 回车,出现如下图提示:
再输入要另外绑定的域名,多个域名可以用空格隔开。比如我要添加的站是多个域名都是访问一个站,输入 vpser.net www.vpser.org vpser.org 回车。
接下来是设置网站目录位置,一般情况下不需要设置直接回车即可。
在VPS或服务器有单独的数据分区,比如国内的之类的,如系统分区下容量小,数据盘分区大,那么可以输入自己的数据盘目录,必须是绝对目录。
比如/data/ 下面有大量的空间也可以填写/data/www/vpser 填写完回车确认。
这里选择是否添加伪静态规则,如不需要伪静态,直接输入 n 回车。如果需要输入 y 回车,再选择伪静态或自定义伪静态,一下为伪静态选择提示:
默认已经有了discuz、discuzx、wordpress、sablog、emlog、dabr、phpwind、wp2(二级目录wp伪静态)、dedecms、drupal、ecshop、shopex,可直接输入以上名称即可。(注:以上除特殊注明外所有规则均只能用于根目录网站,二级目录网站的无法使用,需修改规则。)如果以上伪静态没有自己需要的可以添加自定义伪静态规则,直接输入一个想要的名字,名字不能和前面这些伪静态的名字及/usr/local/nginx/conf/下的其他文件相同,程序会自动创建伪静态文件,直接在/usr/local/nginx/conf/你自定义的伪静态名字.conf 里面添加伪静态规则就行。
注:添加完执行/etc/init.d/nginx restart 重启生效。
接下来会提示是否需要启用日志功能,如上图,一般情况下不需要启用日志,直接输入 n 回车。如需启用日志,输入y 回车。
会提示:Type access_log name(Default access log file:www.vpser.net.log):
这里是要求输入要定义的日志文件名字,一般不自定义直接回车即可。
日志文件存放在:/home/wwwlogs/ 下面。出现:Press any key to start create virtul host... 后,再次回车确认就会自动添加虚拟主机。二、删除虚拟主机ssh登陆执行命令:rm /usr/local/nginx/conf/vhost/域名.conf
如,前面我们添加的主域名是www.vpser.net,则该命令为:rm /usr/local/nginx/conf/vhost/www.vpser.net.conf三、伪静态Apache下的.htaccess伪静态规则不能用在LNMP下,需要使用Nginx伪静态规则。伪静态可以随时添加或删除,如果添加完虚拟主机后忘记或没有添加伪静态,可以通过修改配置文件来添加伪静态。虚拟主机配置文件在:/usr/local/nginx/conf/vhost/域名.conf
伪静态规则文件需要放在/usr/local/nginx/conf/ 下面。编辑虚拟主机配置文件,可以使用、或,后2个工具对新手来说简单些。
例如签名我们添加的虚拟主机,打开后前半部分配置会显示如下:
在root /home/wwwroot/www.vpser.这一行下面添加:
include wordpress.
上面的wordpress.conf换成上传到/usr/local/nginx/conf/ 下面的伪静态规则文件,加完保存,执行:/etc/init.d/nginx restart 重启生效,如果报错可能是添加有误或伪静态规则有误。
评论已关闭
: 恩,自己用的话,是不用安装ftp了
: memcached对mysql优化效果比较好
: 如whmcs就采用onCube加密。军歌,打少了一个i了
: 状态: 连接建立,等待欢迎消息...
状态: 收到无效字节,将禁用 UTF-8 编码。请在站点管理器...
: joomla 的伪静态怎么设置?
: 安装proftp后报错。添加的用户也登录不了。
Starting proftpd daemon: p...
: 发现vps安装lnmp权限出现问题,不想总是修改文件权限来解决问题!
: 还有一个问题:
我在安装完LNMP1.0版本后查看php版本PHP 5.3.17(正确),接着我又安...
: 我在PureFTPd中增加成功了一个FTP用户:帐号 UID GID 主目录
myftp 501 5...
: 重命名phpmyadmin文件夹报错Fatal error: require() [function...
本站架设在上使用提供下载镜像linux下WordPress apache伪静态规则设置 | 系统运维
技术交流QQ群:& && && &
现在的位置:
linux下WordPress apache伪静态规则设置
1、首先确定Apache是否加载了Mod_rewrite 模块
方法: 检查 /etc/httpd/conf/httpd.conf 中是否存在以下两段代码 (具体路径可能会有所不同,但形式基本是一样的):
(一)LoadModule rewrite_module libexec/mod_rewrite.so
(二)AddModule mod_rewrite.c
2、检查Apache是否开启.htaccess支持
/etc/httpd/conf/httpd.conf
AllowOverride All
#如果后面参数为None需要修改为All(大概在338行)
3、在文件/etc/httpd/conf/httpd.conf相应的主机目录配置中加入如下代码(此时须注意,如果网站是通过虚拟主机来定义,请务必加到虚拟主机配置中去,否则可能无法使用。)
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
vi /etc/httpd/conf/httpd.conf
&Directory "/var/www/html"&
Options Includes ExecCGI FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
&IfModule mod_rewrite.c&
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&/IfModule&
&/Directory&
4、重启Apache
/etc/init.d/httpd restart
5、设置WordPress
温馨提醒:qihang01原创内容(C)版权所有,转载请注明出处及原文链接
在WordPress后台-设置-固定链接-自定义结构,输入下面的代码,最后保存更改即可。
/archives/%post_id%.html
6、配置完成
前台打开页面类似于:
&&&&&>> 本文链接:>> 订阅本站:>> 转载请注明来源: >>
&&系统运维技术交流QQ群:①& ②& ③&
【上篇】【下篇】
您可能还会对这些文章感兴趣!
您必须才能发表留言!
本分类最新文章
日志总数:284篇
评论总数:1072条
分类总数:67个
标签总数:435个
友情链接:25个
网站运行:1276天
最后更新:日
欢迎PR值≥3的IT类技术博客与本站友情链接(申请前请先做好本站链接)
Copyright&
系统运维 All rights reserved
版权声明:本站所有文章均为作者原创内容,如需转载,请注明出处及原文链接

我要回帖

更多关于 wordpress 伪静态 的文章

 

随机推荐