我正在使用php做一个项目。我重写了一些动态网址。
http:// domain.com/?a=username
我将网址重写为
http:// domain.com/username
索引页面中的将使用$ _GET ['a']值从数据库中选择值。如果在数据库中找不到$ _GET ['a'],它将产生错误消息。实际上我的问题是服务器将包含< strong> css 文件夹。从 css 获取css文件时,它将重定向到错误页面。请帮助我解决这个问题
代码是
$cat=$_GET['a'];
$sql="SELECT * FROM `content` WHERE category=$cat";
$result=mysql_query($sql);
$no=mysql_num_rows($result);
if($no>0)
{
while($row = mysql_fetch_array($result))
{
$id=$row['id'];
}
S($id,$cat,$sub,$year);
}
else
{echo "<META HTTP-EQUIV=Refresh CONTENT='0; URL=error.php'>";
}
答案 0 :(得分:0)
在RewriteRule上方的.htaccess文件中,添加以下内容:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
嗯,实际上第一个是你需要的规则,第二个只是确保你以后能够访问另一个目录(例如你想在subdir中有一些其他的脚本)
答案 1 :(得分:0)
这样做:
$path = !empty($_GET['a']) ? $_GET['a'] : '';
mysite.com/someextension =&gt;你的url = someextension
和
您可以使用直接网址mysite.com/public/css/style.css
答案 2 :(得分:0)
做这样的事情:
if(preg_match('/[0-9a-zA-Z]+\.css$/', $_GET['a'], $url))
{
header("Content-type: text/css");
echo file_get_contents('./css/' . $url[0]);
exit();
}