背景: 目前公司的线上服务器是Nginx的,我内网本地装的是Apache,测试服务器上是Nginx,因此对于这两种服务器,都进行了处理。
先说一下Apache。Apache的伪静态既可以在配置文件中进行设置,也可以通过.htaccess文件配置,我是选择的后者。伪静态其实就是rewrite,因此需要先开启rewrite模块,即:
然后在请求入口位置的.htaccess中按正则匹配进行伪静态参数设置:
复制代码代码如下:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^index/content/([\w]+)/([^/]+).html$ /news/index/content/?uid=$1&title=$2 [NC,L] RewriteRule ^.*$ index.php [NC,L]
复制代码代码如下:
location / {
rewrite ^/news/index/content/([\w]+)/([^/]+).html$/news/index/content/?uid=$1&title=$2last; index index.php index.html index.htm; if (!-e $request_filename) { rewrite ^/(\w+)/(.*)$ /$1/index.php last; } }
Nginx其实和Apache的配置类似,看下二者的区别吧: |