Nginx伪静态
if ($request_uri ~* "/Uploads/"){
rewrite ^(.*)$ /files?path=$1 permanent;
break;
}
Apache伪静态
RewriteCond %{REQUEST_URI} ^/Uploads/
RewriteRule ^(.*)$ /files?path=%{REQUEST_URI} [QSA,R,L]
在原有伪静态后面加上
我用的是thinkPHP5框架
修改之后的Nginx伪静态
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
if ($request_uri ~* "/Uploads/"){
rewrite ^(.*)$ /files?path=$1 permanent;
break;
}
修改之后的Apache伪静态
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
RewriteCond %{REQUEST_URI} ^/Uploads/
RewriteRule ^(.*)$ /files?path=%{REQUEST_URI} [QSA,R,L]
</IfModule>
亲测有效
文件存在时可以重写路径
原始url
http://test.cc/Uploads/file/20221208/6391a6fdccdc9.pptx
重写之后的url
http://test.cc/files?path=/Uploads/file/20221208/6391a6fdccdc9.pptx
伪静态域名重定向
Nginx伪静态
if ($host = "qhzhiye.cn"){
rewrite ^/(.*)$ $scheme://www.qhzhiye.cn/$1 permanent;
}
Apache伪静态
RewriteCond %{HTTP_HOST} ^qhzhiye.cn$
RewriteRule ^(.*)$ %{REQUEST_SCHEME}://www.qhzhiye.cn%{REQUEST_URI} [R=301,L]
修改之后的伪静态
Nginx伪静态
if ($host = "qhzhiye.cn"){
rewrite ^/(.*)$ $scheme://www.qhzhiye.cn/$1 permanent;
}
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
Apache伪静态
<IfModule mod_rewrite.c>
Options +FollowSymlinks -Multiviews
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^qhzhiye.cn$
RewriteRule ^(.*)$ %{REQUEST_SCHEME}://www.qhzhiye.cn%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?s=/$1 [QSA,PT,L]
</IfModule>