CodeIgniter_2 路由中定義僞靜態 直接映射到相關的控制器

某些狀況下 隱藏路徑信息 使用僞靜態定義:php

RewriteRule ^no/torrent(.*)$ /index.php/torrent/doit/$1測試

CodeIgniter會自動識別到 no 控制器,可是我其實想識別到 torrent 控制器 url

須要對 core\URI.php 文件進行處理下blog

	/**
	 * Detects the URI
	 *
	 * This function will detect the URI automatically and fix the query string
	 * if necessary.
	 *
	 * @access	private
	 * @return	string
	 */
	private function _detect_uri()
	{
		if ( ! isset($_SERVER['REQUEST_URI']) OR ! isset($_SERVER['SCRIPT_NAME']))
		{
			return '';
		}

		$uri = $_SERVER['REQUEST_URI'];

		//添加的數據 從新定義url
        if(isset($_SERVER['PHP_SELF'])){
	        if($_SERVER['PHP_SELF'] != '' and $_SERVER['PHP_SELF'] != $_SERVER['REQUEST_URI']){
		        $uri = $_SERVER['PHP_SELF'];
		        if(isset($_SERVER['QUERY_STRING']) and $_SERVER['QUERY_STRING'] != ''){
			        $uri = $uri.'?'.$_SERVER['QUERY_STRING'];
		        }
	        }
        }
        //來自 吠品 http://www.cnblogs.com/osfipin/

		
		if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0)
		{
			$uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
		}
		elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0)
		{
			$uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
		}

		// more
	}

  CodeIgniter 3.0 對 這個文件進行了重構。想實現這個需求 貌似也不行,你們能夠測試一會兒。ip

相關文章
相關標籤/搜索