好吧,我想说我需要使用seo网址。我怎么能管理以下模式:
www.mysite.com/{context}/{mode}/
允许将变量声明为如下:
www.mysite.com/{context}/{mode}/{var}/{val}/{var2}/{val2}...
例如:
www.mysite.com/user/view/id/123
解决方案?,怎么做?
可能的解决方案可能如下:
所有网址都会重定向到www.mysite.com/index.php。
在index.php文件中,我将网址除以$u = explode($ulr, '/');
:忽略$u[0]
并将$u[1]
视为上下文,$u[2]
作为模式,最终$u[3], $u[4]...
为var-values的一对像get system index.php?var=val
。
通过了解上下文和模式,包含正确的文件,每个人都很高兴。
答案 0 :(得分:2)
在这里看看我接受的答案:
答案 1 :(得分:0)
我使用的解决方案是:
的.htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
#Rewrite the URI if there is no file or folder
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
</IfModule>
url_manager(仅适用于根文件:www.mysite.com/index.php;要在文件夹中使用它(www.mysite.php / folder / index.php),为每个数字键和$ i添加+1 )
function urlFile()
{
$url = explode('/', $_SERVER["REQUEST_URI"]);
$context = $url[1];
$mode = $url[2];
return "{$context}_{$mode}.php";
}
function get($string)
{
$url = explode('/', $_SERVER["REQUEST_URI"]);
unset($url[0], $url[1], $url[2]);
$i = 3;
foreach ($url as $u)
{
$get[$url[$i]] = $url[$i + 1];
}
return $get[$string];
}