wordpress设置自定义固定连接操做说明

问题:固定链接设置中自定义结构

说明:点击“设置”下“固定链接”进入固定链接设置页面,对应固定连接的地址但愿看到的地址格式为http://know.szreach.com/<分类前缀或标签前缀>/<post-name>地址为:http://know.szreach.com/%category%/%post-name% php

 

设置完成后,在页面上打开文章出现如下错误地址找不到 web

http://know.szreach.com/uncategorized/%post-name%/ apache

 

解决方法:

第一步:首先检查检测Apache是否支持mod_rewrite

方法:经过php提供的phpinfo()函数查看环境配置,经过Ctrl+F查找到“Loaded Modules”,其中列出了全部apache2handler已经开启的全部模块,若是里面包括“mod_rewrite”,则已经支持,再也不须要继续设置。 ubuntu

<?php phpinfo(); ?> vim

 

发现不支持mod_rewrite,继续是设置使支持mod_rewrite ide

第二步:使支持mod_rewrite

.默认安装apache2是支持mod_rewrite

安装apache2命令:sudo apt-get install apache2 wordpress

安装目录是:/etc/apache2 函数

检查mod_rewrite.so是否存在 post

命令是:grep -rn "mod_rewrite.so" ./ spa

root@ubuntuServer1204:/etc/apache2# grep -rn "mod_rewrite.so" ./

./mods-available/rewrite.load:1:LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

查看rerewrite.load 文件

命令是:cat /etc/apache2/mods-available/rewrite.load

root@ubuntuServer1204:/etc/apache2# cat /etc/apache2/mods-available/rewrite.load 

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

加载mod_rewrite模块

命令是:sudo a2enmod rewrite

root@ubuntuServer1204:~#sudo a2enmod rewrite

Enabling module rewrite.

To activate the new configuration, you need to run:

  service apache2 restart

.rewrite.load 一个象征性的链接

命令是:ls -al /etc/apache2/mods-enabled/rewrite.load 

root@ubuntuServer1204:~# ls -al /etc/apache2/mods-enabled/rewrite.load 

lrwxrwxrwx 1 root root 30 Dec  3 14:02 /etc/apache2/mods-enabled/rewrite.load -> ../mods-available/rewrite.load

 

."AllowOverride None" "AllowOverride all"

由于wordpress单独写了份文件修改地址etc/apache2/conf.d/wordpress

root@ubuntuServer1204:/etc/apache2/conf.d# vim wordpress 

 

ServerName 127.0.0.1

<VirtualHost *:80>

        ServerAdmin webmaster@localhost

 

        DocumentRoot /var/www/wordpress

        <Directory />

                Options FollowSymLinks

                AllowOverride None

        </Directory>

        <Directory /var/www/wordpress/>

                Options Indexes FollowSymLinks MultiViews

                AllowOverride None

                Order allow,deny

                allow from all

        </Directory>

 

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

        <Directory "/usr/lib/cgi-bin">

                AllowOverride None

                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

                Order allow,deny

                Allow from all

        </Directory>

"wordpress" 42L, 990C           

第三步:重启apache2

命令是:sudo service apache2 restart

root@ubuntuServer1204:/etc/apache2/conf.d# sudo service apache2 restart

 * Restarting web server apache2

 ... waiting    ...done

 

第四步:再次检查检测Apache是否支持mod_rewrite

 

获得的结果:

打开一边文章,能够看到正确的连接地址

相关文章
相关标签/搜索