Mod重写我这样做的方式,这将使它更简单但同时也很困难。
.htaccess 文件_ _ __ _ __ _ __ _ __ _ ____
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /main site folder/
RewriteRule (.*)\.xml(.*) $1.php$2 [nocase]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1
</IfModule>
/classes/simplifyURL.php 文件_ _ __ _ __ _ __ _ __ _ _
<?php
class simpleUrl{
var $site_path;
function __construct($site_path){
$this->site_path = $this->removeSlash($site_path);
}
function __toString(){
return $this->site_path;
}
private function removeSlash($string){
if( $string[strlen($string) - 1] == '/')
$string = rtrim($string, '/');
return $string;
}
function segment($segment){
$url = str_replace($this->site_path, '', $_SERVER['REQUEST_URI']);
$url = explode('/', $url);
if( isset($url[$segment]))
return $url[$segment];
else
return false;
}
}
?>
index.php 文件顶部_ _ __ _ __ _ ___
<?php
include 'classes/simplifyURL.php';
$url = new simpleUrl('/main site folder');
$url1 = $url->segment(1);
$url2 = $url->segment(2);
$url3 = $url->segment(3);
$url4 = $url->segment(4);
?>
将页面包含到基于 url_ _ __ _的 index.php 中
<?php
$pages_dir = 'pages';
if (!empty($url1)) {
$pages = scandir($pages_dir, 0);
unset($pages[0], $pages[1]);
$p = $url1;
if (in_array($p.'.inc.php', $pages)) {
include($pages_dir.'/'.$p.'.inc.php');
} else {
echo 'Sorry, page was not found.';
}
} else {
include($pages_dir.'/home.inc.php');
}
?>
这是你必须做出的巨大转变。无论如何,让我解释一下上面的部分。它采用 url 的第一位的值,因此在域之后并检查它的文件夹页面,如果它可以找到它,它将显示它。因此,对于您的情况,您需要创建一个名为 user.inc.php 的文件。将身份验证放入其中并使用 $url2 变量访问 url 的末尾以获取您在其上的长代码。其他明智的称为动态页面。希望这可以帮助
这是很多工作,我看不出 GET 有什么问题