ホームページ >バックエンド開発 >PHPチュートリアル >php と apache の疑似静的コードのいくつかの一般的なコード

php と apache の疑似静的コードのいくつかの一般的なコード

PHP中文网
PHP中文网オリジナル
2017-02-07 13:46:272309ブラウズ

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伪静态规则转换

php と apache の疑似静的コードのいくつかの一般的なコード

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;


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。