Heim  >  Artikel  >  Backend-Entwicklung  >  Einige gängige Codes für PHP und Apache pseudostatisch

Einige gängige Codes für PHP und Apache pseudostatisch

PHP中文网
PHP中文网Original
2017-02-07 13:46:272196Durchsuche

1. htaccess中设置图片防盗链

RewriteEngine on
##################################################
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?php.cn(/)?.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|bmp|png)$ http://nothing_phpcn[R,NC,L]
##################################################################################
RewriteCond $1 !^(index\.php|statics|upload|app\.html|robots\.txt)
RewriteRule ^(.*)$ /index.php?/$1 [L]

2. htaccess设置404 500错误页

ErrorDocument 404 /statics/home/notfound.html
ErrorDocument 500 /statics/home/notfound.html

3. phpstudy伪静态错误No input file specified解决办法

apache No input filespecified,今天是我们配置apache RewriteRule时出现这种问题,解决办法很简单如下

打开.htaccess 在RewriteRule 后面的index.php教程后面添加一个“?”

完整代码如下

.htaccess
RewriteEngine on
RewriteCond $1 !^(index.php|images|robots.txt)  
RewriteRule ^(.*)$ /index.php?/$1 [L]

4. Thinkphp非根目录无法加载模块

.htaccess加RewriteBase /demo2/

\demo2\ThinkPHP\Library\Think\Dispatcher.class.php     119行

define('__INFO__',trim($_SERVER['PATH_INFO'],'/'));之前加:

$_SERVER['PATH_INFO']=str_replace('/demo2','',$_SERVER['PATH_INFO']);

5. CI框架伪静态iis-web.config配置参考

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules><remove name=""/>
            <rule name="规则 0" stopProcessing="true">
                    <match url="^(statics|upload|robots\.txt)" />
                </rule>
                <rule name="规则 1" stopProcessing="true">
                    <match url="^((?!admin).*)$" />
                    <action type="Rewrite" url="index.php?/{R:1}" />
                </rule>
                      <rule name="规则 2" stopProcessing="true">
                    <match url="^admin(/?)([!/].*)?$" />
                    <action type="Rewrite" url="admin.php?{R:1}{R:2}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

6. thinkphp伪静态 去除index.php

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfModule>

开启路由:
'URL_ROUTER_ON' => true, //URL路由
'URL_MODEL' => 2, // URL模式

7. httpd.ini与.htaccess伪静态规则转换

Einige gängige Codes für PHP und Apache pseudostatisch

8. TP正则路由

config.php

<?php
$conf_array=array(
    /*加载额外配置文件*/
    &#39;LOAD_EXT_CONFIG&#39;   => &#39;db,htaccess&#39;,
    .....
);


htaccess.php

<?php
$rules=array(
    &#39;URL_ROUTER_ON&#39;   => true, //开启路由
    &#39;URL_ROUTE_RULES&#39; => array( //定义路由规则
        &#39;/^verifycode\/(\w+)$/&#39;=>&#39;g=Index&c=Verifycode&a=index&type=:1&#39;,    //验证码
        &#39;/^upload_image$/&#39;=>&#39;g=Index&c=Image&a=upload&#39;,    //教程图片上传按钮
        /*登录相关*/
        &#39;/^login\/login$/&#39;=>&#39;g=Index&c=Login&a=login&#39;,    //登录
        &#39;/^login\/reg$/&#39;=>&#39;g=Index&c=Login&a=reg&#39;,    //注册
        &#39;/^login\/logout$/&#39;=>&#39;g=Index&c=Login&a=logout&#39;,    //登录
    ),
);
return $rules;


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn