worepress 在nginx服务器下对地址进行重写

2013年7月23日 分类: 杂谈 (83 个脚步)

在apach服务器下,对地址重写是很简单的。

1.  首先要找到apache的配置文件httpd.conf(文件在conf目录下)

2. 你首先必须得让服务器支持mod_rewrite,如果你使用的是虚拟主机,请事先询问你的主机提供商。

  打开httpd.conf,找到

  #LoadModule rewrite_module modules/mod_rewrite.so

  把#去掉

  找到AllowOverride None 改成 AllowOverride All

  :AllowOverride 的参数设置为ALL,表示整台服务器上都支持URL规则重写。Apache 服务器要读每个网站下目录下的 .htaccess 文件。如果没有这个文件,或者这个文档没有定义任何关于URL重写的规则就不会有任何效果。

3. 重启apache服务器,先按stop再start。


4. 在你需要URL重写的网站目录下放一个.htaccess文件,文件名是.htaccess,Windiws下不能直接建立,你可以用记事本另存为。

  :我测试的时候在每个需要伪静态的目录下都存放了对应的.htaccess文件,同时在httpd.conf文件中像第二步那样对相关的目录添加了相应的<Directory>..</Directory>代码。

5. 在.htaccess中通过正则表达式映射需要伪静态的页面。

  URL正则表达式如下

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /wordpress/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ./index.php [L]
</IfModule>
# END WordPress

其中的RewriteBase,表示当前你的wordpress 在根目录下的wordress文件夹下。如果不是 则直接改为

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase / 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule>

自此,apache的URL重写配置完成。

但是nginx的不太一样,他只需要在你的配置文件的location下添加

	if (-f $request_filename/index.html){
                rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
                rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
                rewrite (.*) /index.php;
        }

我的是这样的

server{
	listen       80;
	server_name blog.shiniv.com;
	index index.html index.htm index.php;
	root  /htdocs/shiniv.com/blog.shiniv.com;
	if (-f $request_filename/index.html){
                rewrite (.*) $1/index.html break;
        }
        if (-f $request_filename/index.php){
                rewrite (.*) $1/index.php;
        }
        if (!-f $request_filename){
                rewrite (.*) /index.php;
        }
        include location.conf;
}

worepress 在nginx服务器下对地址进行重写 【声明】本文 worepress 在nginx服务器下对地址进行重写 为柠之漠然原创文章,转载请注明出自 枫之落叶
并保留本文有效链接:https://blog.shiniv.com/2013/07/worepress-nginx-url-rewrite/ , 转载请保留本声明!

标签:
目前还没有任何评论.
你必须要启用 Javascript