2012-04-05 85 views
0

在我的.htaccess文件我有以下重新写入规则现代重写规则重写错误

RewriteRule ^([a-z]*)$ work.php?album=$1 [L] 

我读的所有目录根directoy和PHP

创造一个像

代码链接

$dir=glob('images/works/*'); 
$dir_listing=array(); 
foreach($dir as $list) 
{ 
if(is_dir($list)) 
$dir_listing[]= (basename($list)); 
} 
foreach($dir_listing as $folders) 
echo"<a href='$folders' ><img src='Default-thumbnail-folder.jpg' /> </a>"; 

问题是,我有三个文件夹的作品目录下{ALB,禁令,BAS}

第一个和最后一个{白蛋白和浅}正常工作对我的重定向规则URL {SITENAME /工程/ BAS}

但第二{禁令}创建像{SITENAME /作品URL /禁令/}注意额外的“/”创造的问题,似乎因为它是建立在问题的一些文件夹的名称,所以请帮我在创造一个适当的重定向规则

我要像

链接
<a href="alb" >About</a> // to redirect to work.php?content=about 

我也注意到,如果URL在浏览器就像是工作/ ALB/CSS不适用 我试图

<link href="sample.css" rel="stylesheet" type="text/css" /> 

<link href="css/sample.css" rel="stylesheet" type="text/css" /> 

它不会为URL的工作就像{作品/约/}它适用于{works/about}

+1

你问到的问题(同时存在多个问题 - 但相关)早就被问到了。你可能不知道要搜索什么。对于CSS问题,我记得这个问题:[.htaccess中的基本URL](http://stackoverflow.com/q/6848428/367456)(我确信还有其他相关的问题,这只是一个)。 – hakre 2012-04-05 07:39:48

+1

'RewriteRule ^([a-z \ /] *)$ work.php?album = $ 1 [L]'this should work – safarov 2012-04-05 07:42:00

回答

1

简单!

尝试将重写规则更改为:

RewriteRule ^([a-z]*)/?$ work.php?album=$1 [L] 

使“/”末可能会或可能不存在,在这两种情况下,它的确定。

1

,以避免重写CSS URI的使用这些规则

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

至于你的其他问题,您可以使用结果URL的微调,以确保你永远不会有一个“/”结尾 trim($url,'/');