让codeigniter 路由支持只能解析带问号的重写!

CodeIgniter框架URL重写优化与配置指南 URL重写是Web开发中的关键技术,通过服务器配置将复杂URL转换为简洁友好的形式。其核心原理是利用服务器模块(如Apache的mod_rewrite或Nginx的try_files)对请求进行重定向处理,隐式调用应用入口文件。这种技术不仅能提升URL美观度和SEO效果,还能更好地支持RESTful架构。在CodeIgniter等PHP框架中,通过结合路由配置与服务器重写规则,可以实现15-20%的URL点击率提升。典型应用场景包括内容管理系统、电商平台等需要友好URL的项目。实施时需注意服务器性能优化和安 阅读详情

配置路由,网址 http://www.***.com/info/cat-13479-13487-0/ 的实际访问 方法为 info/lst?type=cat&v1=$1&v2=$2&v3=$3 方法:

修改文件: system/core/Router.php 的方法:

_parse_routes()加入如下一句:



//2014-11-16 12:19 add by f.z.b
if(strpos($val,'?') !== false){
    list($val,$queryString) = explode('?',$val);
    parse_str($queryString,$_GET);
}


整个方法的代码:

function _parse_routes()
{
   // Turn the segment array into a URI string
   $uri = implode('/', $this->uri->segments);

   // Is there a literal match?  If so we're done
   if (isset($this->routes[$uri]))
   {
      return $this->_set_request(explode('/', $this->routes[$uri]));
   }

   // Loop through the route array looking for wild-cards
   foreach ($this->routes as $key => $val)
   {
      // Convert wild-cards to RegEx
      $key = str_replace(':any', '.+', str_replace(':num', '[0-9]+', $key));

      // Does the RegEx match?
      if (preg_match('#^'.$key.'$#', $uri))
      {
         // Do we have a back-reference?
         if (strpos($val, '$') !== FALSE AND strpos($key, '(') !== FALSE)
         {
            $val = preg_replace('#^'.$key.'$#', $val, $uri);
         }

               //2014-11-16 12:19 add by f.z.b
               if(strpos($val,'?') !== false){
                   list($val,$queryString) = explode('?',$val);
                   parse_str($queryString,$_GET);
               }

         return $this->_set_request(explode('/', $val));
      }
   }

   // If we got this far it means we didn't encounter a
   // matching route so we'll set the site default route
   $this->_set_request($this->uri->segments);
}


配置路由: application/config/routes.php

$route['info/cat-(:num)-(:num)-(:num)'] = 'info/lst/1?type=cat&v1=$1&v2=$2&v3=$3';


    public function lst($page = 1)
    {
        if ($page < 1) $page = 1;

        $type = $this->input->get('type');
        if($type == 'diqu'){
            $v1 = $this->input->get('v1');
            $v2 = $this->input->get('v2');
            $v3 = $this->input->get('v3');

        } else {

        }


    }

#文 default.fu@foxmail.com

CodeIgniter框架URL重写配置与优化指南 URL重写是Web开发中提升SEO友好性和用户体验的重要技术,通过服务器配置实现请求路径的转换。其核心原理是利用mod_rewrite(Apache)或try_files(Nginx)等机制,将动态请求映射到统一的入口文件。在PHP框架如CodeIgniter中,合理配置URL重写能显著提升系统安全性和性能,同时改善移动端访问体验。典型应用场景包括隐藏入口文件index.php、实现RESTful风格URL、多应用路由分发等。本文以CodeIgniter为例,详细解析Apache/Nginx环境下.htac 阅读详情

相关推荐

VPS部署CodeIgniter的完整运维指南

CodeIgniter作为轻量级PHP框架,其运行依赖严格的底层环境契约。理解PHP运行时机制、Web服务器重写原理及框架配置驱动特性,是实现稳定部署的技术基础。在VPS等资源受限环境中,需精准控制PHP扩展(如mbstring、opcache)、合理配置Session存储与日志策略,并通过Apache/Nginx重写规则保障URL友好性。本文聚焦CodeIgniter 4.x在真实VPS(含甲骨文、腾讯云等)上的生产级落地,覆盖从系统初始化、权限加固、错误排查到多版本共存的全链路实践,特别强调mbstri

weixin_30443731的博客 426

CodeIgniter源码阅读笔记(7)——路由类Router.php

CI框架能根据URL地址路由到正确的控制器和方法,主要是靠URI和Router这两个组件,URI组件对URL地址所携带的参数进行分段,Router组件再根据URI解析出来的分段参数找到对应的控制器,方法,及调用方法所需的参数,并且Router还能通过正则表达式自定义路由方式。 在阅读路由组件的源码时,我们需要思考以下几个问题: 1.Router是怎样根据URI的分段参数找到对应的类和方法? 2

instancegameto 795

CodeIgniter URL机制与优化实践

URL路由是现代Web框架的核心机制,通过解析请求路径映射到对应的控制器方法。CodeIgniter采用分段式URL设计,通过控制器/方法/参数的层级结构实现清晰的路由逻辑,这种模式相比传统查询字符串更利于SEO优化。在工程实践中,需要正确处理index.php重写问题,Apache通过.htaccess配置,Nginx使用try_files指令实现。路由配置文件支持正则表达式匹配,可实现动态URL到控制器的灵活映射。针对高并发场景,建议采用路由缓存、精简规则等优化手段,当规则超过50条时可考虑模式匹配重构

weixin_29214335的博客 259

CI 框架 接受get数据(问号传参形式)

转载地址:http://blog.youkuaiyun.com/jianglei421/article/details/6890401 解决方法: 1) 在config.PHP 中,将‘uri_protocol’ 设置为 ‘PATH_INFO’. PHP $config['uri_protocol'] = “PATH_INFO”; 2) 在需要使用$_GET的之前加: PHP p

tiantainkaixing的专栏 945

CodeIgniter URL优化:去除index.php的三种方案

URL重写是Web开发中的基础技术,通过服务器配置实现地址美化与SEO优化。其核心原理是利用服务器模块(如Apache的mod_rewrite或Nginx的try_files)将动态请求转发到前端控制器。在PHP框架中,CodeIgniter采用分段式URL设计,默认包含index.php入口文件。通过配置.htaccess、Nginx规则或web.config文件,开发者可以去除URL中的index.php,提升链接美观度和搜索引擎友好度。这种优化在RESTful API开发和多语言站点场景尤为重要,同时

weixin_33391446的博客 256

VPS上手敲CodeIgniter:从零掌握PHP MVC架构

MVC架构是Web开发的核心设计模式,其本质是将请求处理、业务逻辑与界面展示分离,提升代码可维护性与团队协作效率。CodeIgniter作为经典PHP轻量框架,以清晰的目录结构和直白的语法实现MVC落地,无需复杂配置即可直观理解控制器调度、模型数据封装与视图安全渲染的协同机制。在真实VPS环境部署,能深入掌握Apache重写规则、PHP扩展依赖(如mbstring)、Linux权限控制等工程关键点,避免本地开发与生产环境脱节。本文聚焦于Ubuntu+Apache+PHP 8.1环境下手动部署CodeIgni

weixin_30682415的博客 357

告别冗长URL:CodeIgniter路由配置完全指南(含SEO优化实战)

在开发PHP应用时,冗长复杂的URL不仅影响用户体验,还会降低搜索引擎友好度。CodeIgniter作为一款轻量级PHP框架,提供了强大的路由系统,让你轻松将复杂URL转换为简洁优雅的形式。本文将带你全面掌握CodeIgniter路由配置的核心技巧,从基础设置到高级SEO优化,打造既美观又利于搜索引擎收录的URL结构。 ## 为什么路由配置对CodeIgniter项目至关重要? 默认情况下,C

gitblog_01090的博客 528

解析CI即CodeIgniter框架在Nginx下的重写规则

本篇文章是对CI即CodeIgniter框架在Nginx下的重写规则进行了详细的分析介绍,需要的朋友参考下

php ci 路由,CodeIgniter配置之routes.php用法实例分析

本文实例分析了CodeIgniter配置之routes.php用法。分享给大家供大家参考,具体如下:application/config/routes.php中定义了一个名为$route的数组,用来设置默认路由和404页面以及可以设置一些匹配方式。默认的配置如下:$route['default_controller'] = "welcome";$route['404_override'] = ''...

weixin_33785971的博客 639

EEG/ERP新手必看:5本神经科学入门书籍推荐(附高清PDF下载)

本文为EEG/ERP研究新手推荐5本神经科学入门书籍,涵盖认知神经科学、数据分析、ERP技术等核心内容。特别推荐《认知神经科学—关于心智的生物学》和《事件相关电位基础》,这些书籍不仅提供理论框架,还包含实用案例和MATLAB代码,帮助研究者快速掌握脑电研究技术。附高清PDF下载,适合实验室小组学习。

weixin_29210727的博客 444

DSP TMS320F280049之CCS工程的建立(库函数版)

TMS320F280049 DSP是TI最新出的一款C2000系列的DSP,主频为100MHZ,功能较为强大,具有较多的片上模拟外设。这一节主要讲述如何新建F280049的CCS工程。 Step1.下载文件: 下载C2000Ware软件并安装。下载地址如下: http://www.ti.com.cn/tool/cn/C2000WARE?keyMatch=C2000Ware%2...

fanxianyan1993的博客 1万+

分享codeigniter 路由(URL)终极优化

A8U论坛的开发者发现看样子很有必要发个帖子了,URL格式是如此的重要 转自这里,可以看一下原文. A8U论坛的开发者发现事前先说明白一点,使用CI开发生成地址应该100%用site_url()辅助函数和相关辅助函数实现,实在不行自己扩展url辅助函数.否则你会遇到或者可能遇到头疼的或潜在的问题. 还有一点要明白anchor() redirect() current_url(

小发猫 2143

宝塔面板添加站点及运营商SSL免费证书的申请与使用

本文详细介绍在宝塔面板下如何正确添加站点、配置站点,及在运营商如何申请免费SSL证书,将其配置到宝塔站点里。 给你的网站加一把锁,教你免费SSL证书申请,配置到自己的网站中。 环境:Ubuntu server 18 工具:宝塔控制面板 平台:阿里云 Web服务器:Nginx 宝塔:https://www.bt.cn/ 阿里云:https://www.aliyun.com/ 腾讯云:https://cloud.tencent.com/ 要求: 1.宝塔控制面板搭建完毕。 2掌握域名解析的原理。 3.了解ht

贺兰山长老 5058

Codeigniter入门学习笔记09—路由

很久很久以前学习Codeigniter的笔记记录,很随意,但都是自己记录的,希望对需要的人有所帮助。 本文使用word2013编辑并发布 Postbird | There I am , in the world more exciting! Postb...

chitaixiao7984的博客 210

opencv的cmake报错

1、下载 ippicv_2021.8_win_intel64_20230330_general.zip、v0.1.2a.zip、opencv_videoio_ffmpeg.dll、opencv_videoio_ffmpeg_64.dll、ffmpeg_version.cmake。由于下载源在https://raw.githubusercontent.com,由于网络原因下载不顺畅,可以先找到文件下载到对应文件夹下,或者更改网络环境。ffmpeg_version.cmake文件,打开后显示如下, 另存即可。

nownow_的博客 1298

【Elasticsearch专栏 16】深入探索:Elasticsearch的Master选举机制及其影响因素分析

Elasticsearch的Master选举机制是其分布式架构的基石,确保集群高可用性和数据一致性。通过多数派协议,节点间交换信息并投票选举Master,以维护集群状态和处理请求。该机制自动处理故障转移,保障服务连续性。

weixin_40736233的博客 1774

codeigniter在nginx安装配置及URL重写

目录 [hide] 1 codeigniter修改 2 修改nginx配置 3 访问url codeigniter(CI)是一个轻量型的PHP优秀框架,但是它是在apache服务器下开发的,在nginx下需要特别的配置才可以使用。 codeigniter修改 对application/config/config.php进行修改,大约在48行左右。

gb4215287的博客 2811

学好超几何分布的核心公式,破解双色球!

彩票本质是概率游戏,不存在"必中公式"科学投注的核心是风险收益比管理长期投注的期望值始终为负(理论回报率约47%-63%)数学维度:运用概率工具优化策略经济维度:控制投注成本在可承受范围人文维度:将彩票视为社会公益的参与方式通过本文构建的数学模型,彩民可以在概率框架内实现更理性的投注决策。但最终能否收获幸运,仍取决于那个永恒的未知数——概率女神的眷顾。一、超几何分布的核心公式。

weixin_44904675的博客 1万+

[CodeIgniter4]-CodeIgniter URL

CodeIgniter URL 在默认情况下,CodeIgniter 中的 URL 被设计成对搜索引擎和用户友好的样式。 不同于使用传统的在动态系统中使用代词的标准 “查询字符串” 的方式,CodeIgniter 使用基于段的方法: example.com/news/article/my_article URI 分段 如果遵循模型-视图-控制器模式,那么 URI 中的每一段通...

浩秦的博客 457

SAN存储与协议,了解SCSI、FC和ISCSI

在前面我们介绍SAN存储及iSCSI协议的时候了解到SAN存储其实是一个CS架构的系统。存储系统本身就是整个系统的服务端。以IP-SAN(也就是基于iSCSI的SAN存储)为例,其整体架构如图1所示。 图1 CS架构 对于存储系统来说,通常是由专业的存储厂商提供,比较知名的如EMC、NetAPP、IBM和日立等等。国内存储厂商也迅速崛起,比较知名的如华为、宏杉、浪潮和同友等等。另外,还有一些小的存储厂商,他们往往集中在某个领域,比如专注文件系统或者块存储等等。 除了专业的存储设备外,其实Linux

shuningzhang的专栏 2684

算法 | 基于灰狼优化算法的无人机三维路径规划方法研究(附matlab代码)

针对复杂环境下的无人机三维路径规划问题,本文提出一种基于灰狼优化算法(Grey Wolf Optimizer, GWO)的解决方案。通过模拟灰狼群体的社会等级与协作捕猎机制,结合动态参数调整策略,优化路径长度与避障性能。实验表明,相较于粒子群优化(PSO)和遗传算法(GA),GWO算法在收敛速度与路径成本上分别提升约25%和18%,且在三维城市地形中表现出更强的避障鲁棒性。本文提供完整的MATLAB代码实现,为无人机自主导航提供理论与技术支撑。

尘世冰封的专栏 287

CI路由重写,支持多级目录

转的 if (!defined('BASEPATH'))     exit('No direct script access allowed'); /**  * 自定义路由类   *   * 让CI控制器支持多级目录   *   * @author      SOHOCN.NET   * @copyright   Copyright © 2012 -

懒人博客 2177

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

CI 即CodeIgniter框架在Nginx下的重写规则

最近研究CI框架,发现这个框架的路由功能在Nginx下有问题,报404错误,后来在网上查资料, 发现需要开启PATH_INFO。在nginx7.16以后貌似就支持PATH_INFO了,只需要在配置文件中开启即可。 打开nginx.conf文件,在你的虚拟主机下增加重写规则,代码如下: server {         listen      80;        server_

大鹏 2192

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

php7 codeigniter 404,CodeIgniter  ci框架 nginx 404问题解决

最近在做一个自己的小项目,搭建使用CI框架时,发现这个框架的路由功能在Nginx下有问题,报404错误,后来在网上查资料,发现需要开启PATH_INFO。在nginx7.16以后貌似就支持PATH_INFO了,只需要在配置文件中开启即可。打开nginx.conf文件,在你的虚拟主机下增加重写规则,代码如下:server {listen80;server_name www.ci.com;loca...

weixin_31417633的博客 376

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

《PHP框架CodeIgniter》系列技术文章整理收藏

  《PHP框架CodeIgniter》系列分享专栏 《PHP框架CodeIgniter》已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/201736.html 简介 文章 CodeIgniter php mvc框架 中国网站 如何去掉CodeIgniter URL中的index.php php中关于codeigniter的xm...

hello_katty的专栏 1239
上一篇: ThinkPHP3.2多域名 Virtual .htaccess 匹配 RewriteCond %{HTTP_HOST}
下一篇: DeDeCMS 每次都被黑出翔了!!DEDECMS漏洞扫描
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值