💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
# 伪静态(url重写) ## apache 伪静态 在public下新建.htaccess文件,复制以下代码。注意:public目录下是自带该文件的。 ``` <pre class="calibre16">``` <span class="token"><</span>IfModule mod_rewrite<span class="token1">.</span>c<span class="token">></span> Options <span class="token">+</span>FollowSymlinks <span class="token">-</span>Multiviews RewriteEngine On RewriteCond <span class="token">%</span><span class="token1">{</span>REQUEST_FILENAME<span class="token1">}</span> <span class="token">!</span><span class="token">-</span>d RewriteCond <span class="token">%</span><span class="token1">{</span>REQUEST_FILENAME<span class="token1">}</span> <span class="token">!</span><span class="token">-</span>f RewriteRule <span class="token">^</span><span class="token1">(</span><span class="token1">.</span><span class="token">*</span><span class="token1">)</span>$ index<span class="token1">.</span>php <span class="token1">[</span>L<span class="token1">,</span>E<span class="token">=</span>PATH_INFO<span class="token1">:</span>$<span class="token3">1</span><span class="token1">]</span> <span class="token"><</span><span class="token">/</span>IfModule<span class="token">></span> ``` ``` ## nginx 伪静态 参考 1. 宝塔服务器参考[Linux下宝塔安装](LinuxXia%20Bao%20Ta%20An%20Zhuang.html) 找到nginx网站配置文件,打开后在合适位置增加以下配置 ``` <pre class="calibre16">``` #伪静态配置,重写规则引用<span class="token1">,</span>修改后将导致伪静态规则失效 location <span class="token">/</span> <span class="token1">{</span> <span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token">-</span>e $request_filename<span class="token1">)</span><span class="token1">{</span> rewrite <span class="token">^</span><span class="token1">(</span><span class="token1">.</span><span class="token">*</span><span class="token1">)</span>$ <span class="token">/</span>index<span class="token1">.</span>php<span class="token">?</span>s<span class="token">=</span>$<span class="token3">1</span> last<span class="token1">;</span> <span class="token2">break</span><span class="token1">;</span> <span class="token1">}</span> <span class="token1">}</span> ``` ``` 完整nginx配置参考 ``` <pre class="calibre16">``` server <span class="token1">{</span> listen <span class="token3">80</span><span class="token1">;</span> server_name <span class="token3">192.168</span><span class="token3">.0</span><span class="token3">.118</span><span class="token1">;</span> index index<span class="token1">.</span>php index<span class="token1">.</span>html<span class="token1">;</span> root <span class="token">/</span>www<span class="token">/</span>data<span class="token">/</span>HkCms<span class="token">/</span>public<span class="token1">;</span> #PHP引用配置 location <span class="token">~</span> <span class="token1">[</span><span class="token">^</span><span class="token">/</span><span class="token1">]</span>\<span class="token1">.</span><span class="token6">php</span><span class="token1">(</span><span class="token">/</span><span class="token">|</span>$<span class="token1">)</span> <span class="token1">{</span> try_files $uri <span class="token">=</span><span class="token3">404</span><span class="token1">;</span> # Socket管道方式 # fastcgi_pass unix<span class="token1">:</span><span class="token">/</span>tmp<span class="token">/</span>php<span class="token">-</span>cgi<span class="token">-</span><span class="token3">71.</span>sock<span class="token1">;</span> # tcpip方式<span class="token1">,</span> 端口根据PHP<span class="token">-</span>FPM配置文件 fastcgi_pass <span class="token3">127.0</span><span class="token3">.0</span><span class="token3">.1</span><span class="token1">:</span><span class="token3">10711</span><span class="token1">;</span> fastcgi_split_path_info <span class="token">^</span><span class="token1">(</span><span class="token1">(</span><span class="token">?</span>U<span class="token1">)</span><span class="token1">.</span><span class="token">+</span>\<span class="token1">.</span>php<span class="token1">)</span><span class="token1">(</span><span class="token">/</span><span class="token">?</span><span class="token1">.</span><span class="token">+</span><span class="token1">)</span>$<span class="token1">;</span> fastcgi_index index<span class="token1">.</span>php<span class="token1">;</span> # 引用fastcgi_param参数 include fastcgi<span class="token1">.</span>conf<span class="token1">;</span> set $real_script_name $fastcgi_script_name<span class="token1">;</span> <span class="token2">if</span> <span class="token1">(</span>$fastcgi_script_name <span class="token">~</span> <span class="token4">"^(.+?\.php)(/.+)$"</span><span class="token1">)</span> <span class="token1">{</span> set $real_script_name $<span class="token3">1</span><span class="token1">;</span> set $path_info $<span class="token3">2</span><span class="token1">;</span> <span class="token1">}</span> fastcgi_param SCRIPT_FILENAME $document_root$real_script_name<span class="token1">;</span> fastcgi_param SCRIPT_NAME $real_script_name<span class="token1">;</span> fastcgi_param PATH_INFO $path_info<span class="token1">;</span> <span class="token1">}</span> #伪静态配置,重写规则引用<span class="token1">,</span>修改后将导致伪静态规则失效 location <span class="token">/</span> <span class="token1">{</span> <span class="token2">if</span> <span class="token1">(</span><span class="token">!</span><span class="token">-</span>e $request_filename<span class="token1">)</span><span class="token1">{</span> rewrite <span class="token">^</span><span class="token1">(</span><span class="token1">.</span><span class="token">*</span><span class="token1">)</span>$ <span class="token">/</span>index<span class="token1">.</span>php<span class="token">?</span>s<span class="token">=</span>$<span class="token3">1</span> last<span class="token1">;</span> <span class="token2">break</span><span class="token1">;</span> <span class="token1">}</span> <span class="token1">}</span> #禁止用户上传目录下所有<span class="token1">.</span>php文件的访问,提高安全性 location <span class="token">~</span> <span class="token">^</span><span class="token">/</span>uploads<span class="token">/</span><span class="token1">.</span><span class="token">*</span>\<span class="token1">.</span><span class="token1">(</span>php<span class="token">|</span>php5<span class="token1">)</span>$ <span class="token1">{</span> deny all<span class="token1">;</span> <span class="token1">}</span> #禁止访问的文件或目录 location <span class="token">~</span> <span class="token">^</span><span class="token">/</span><span class="token1">(</span>\<span class="token1">.</span>user<span class="token1">.</span>ini<span class="token">|</span>\<span class="token1">.</span>htaccess<span class="token">|</span>\<span class="token1">.</span>git<span class="token">|</span>\<span class="token1">.</span>svn<span class="token">|</span>\<span class="token1">.</span>project<span class="token">|</span>LICENSE<span class="token">|</span>README<span class="token1">.</span>md<span class="token1">)</span> <span class="token1">{</span> <span class="token2">return</span> <span class="token3">404</span><span class="token1">;</span> <span class="token1">}</span> location <span class="token">~</span> <span class="token1">.</span><span class="token">*</span>\<span class="token1">.</span><span class="token1">(</span>gif<span class="token">|</span>jpg<span class="token">|</span>jpeg<span class="token">|</span>png<span class="token">|</span>bmp<span class="token">|</span>swf<span class="token1">)</span>$ <span class="token1">{</span> expires <span class="token3">30</span>d<span class="token1">;</span> error_log <span class="token">/</span>dev<span class="token">/</span><span class="token2">null</span><span class="token1">;</span> access_log off<span class="token1">;</span> <span class="token1">}</span> location <span class="token">~</span> <span class="token1">.</span><span class="token">*</span>\<span class="token1">.</span><span class="token1">(</span>js<span class="token">|</span>css<span class="token1">)</span><span class="token">?</span>$ <span class="token1">{</span> expires <span class="token3">12</span>h<span class="token1">;</span> error_log <span class="token">/</span>dev<span class="token">/</span><span class="token2">null</span><span class="token1">;</span> access_log off<span class="token1">;</span> <span class="token1">}</span> # 访问日志 access_log <span class="token">/</span>www<span class="token">/</span>wwwlogs<span class="token">/</span><span class="token3">192.168</span><span class="token3">.0</span><span class="token3">.118</span><span class="token1">.</span>log<span class="token1">;</span> # 错误日志 error_log <span class="token">/</span>www<span class="token">/</span>wwwlogs<span class="token">/</span><span class="token3">192.168</span><span class="token3">.0</span><span class="token3">.118</span><span class="token1">.</span>error<span class="token1">.</span>log<span class="token1">;</span> <span class="token1">}</span> ``` ``` ## IIS参考 主要添加的内容 ``` <pre class="calibre16">``` <span class="token"><</span>rewrite<span class="token">></span> <span class="token"><</span>rules<span class="token">></span> <span class="token"><</span>rule name<span class="token">=</span><span class="token4">"OrgPage"</span> stopProcessing<span class="token">=</span><span class="token4">"true"</span><span class="token">></span> <span class="token"><</span>match url<span class="token">=</span><span class="token4">"^(.*)$"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>conditions logicalGrouping<span class="token">=</span><span class="token4">"MatchAll"</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{HTTP_HOST}"</span> pattern<span class="token">=</span><span class="token4">"^(.*)$"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{REQUEST_FILENAME}"</span> matchType<span class="token">=</span><span class="token4">"IsFile"</span> negate<span class="token">=</span><span class="token4">"true"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{REQUEST_FILENAME}"</span> matchType<span class="token">=</span><span class="token4">"IsDirectory"</span> negate<span class="token">=</span><span class="token4">"true"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span><span class="token">/</span>conditions<span class="token">></span> <span class="token"><</span>action type<span class="token">=</span><span class="token4">"Rewrite"</span> url<span class="token">=</span><span class="token4">"index.php/{R:1}"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span><span class="token">/</span>rule<span class="token">></span> <span class="token"><</span><span class="token">/</span>rules<span class="token">></span> <span class="token"><</span><span class="token">/</span>rewrite<span class="token">></span> ``` ``` 添加的位置 ``` <pre class="calibre20">``` <span class="token"><</span><span class="token">?</span>xml version<span class="token">=</span><span class="token4">"1.0"</span> encoding<span class="token">=</span><span class="token4">"UTF-8"</span><span class="token">?</span><span class="token">></span> <span class="token"><</span>configuration<span class="token">></span> <span class="token"><</span>system<span class="token1">.</span>webServer<span class="token">></span> <span class="token"><</span>rewrite<span class="token">></span> <span class="token"><</span>rules<span class="token">></span> <span class="token"><</span>rule name<span class="token">=</span><span class="token4">"OrgPage"</span> stopProcessing<span class="token">=</span><span class="token4">"true"</span><span class="token">></span> <span class="token"><</span>match url<span class="token">=</span><span class="token4">"^(.*)$"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>conditions logicalGrouping<span class="token">=</span><span class="token4">"MatchAll"</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{HTTP_HOST}"</span> pattern<span class="token">=</span><span class="token4">"^(.*)$"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{REQUEST_FILENAME}"</span> matchType<span class="token">=</span><span class="token4">"IsFile"</span> negate<span class="token">=</span><span class="token4">"true"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span>add input<span class="token">=</span><span class="token4">"{REQUEST_FILENAME}"</span> matchType<span class="token">=</span><span class="token4">"IsDirectory"</span> negate<span class="token">=</span><span class="token4">"true"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span><span class="token">/</span>conditions<span class="token">></span> <span class="token"><</span>action type<span class="token">=</span><span class="token4">"Rewrite"</span> url<span class="token">=</span><span class="token4">"index.php/{R:1}"</span> <span class="token">/</span><span class="token">></span> <span class="token"><</span><span class="token">/</span>rule<span class="token">></span> <span class="token"><</span><span class="token">/</span>rules<span class="token">></span> <span class="token"><</span><span class="token">/</span>rewrite<span class="token">></span> <span class="token"><</span>handlers<span class="token">></span> <span class="token"><</span><span class="token">/</span>handlers<span class="token">></span> <span class="token"><</span><span class="token">/</span>system<span class="token1">.</span>webServer<span class="token">></span> <span class="token"><</span><span class="token">/</span>configuration<span class="token">></span> ``` ```