在我的.htaccess文件中,我有以下重写规则
RewriteRule ^([a-z]*)$ work.php?album=$1 [L]
我正在读取root 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,ban,bas}
第一个和最后一个 {alb和bas} 适用于我的重定向规则 URL {siteName / works / bas}
但是第二个{ban}创建了一个类似 {siteName / works / ban /} 的网址注意额外的“/”正在创建问题,对于某些人来说似乎文件夹名称它正在创建问题,所以请帮我创建一个正确的重定向规则
我想要一个像
这样的链接<a href="alb" >About</a> // to redirect to work.php?content=about
我还注意到,如果浏览器中的URL类似于work / alb / CSS未应用 我试过了
<link href="sample.css" rel="stylesheet" type="text/css" />
和
<link href="css/sample.css" rel="stylesheet" type="text/css" />
它不适用于像{works / about /}这样适用于{works / about}
的网址答案 0 :(得分:1)
容易!
尝试将您的重写更改为:
RewriteRule ^([a-z]*)/?$ work.php?album=$1 [L]
所以最后的“/
”可能存在,也可能不存在,在这两种情况下都可以。
答案 1 :(得分:1)
避免重写css URI使用这些规则
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
至于你的其他问题,你可以在结果网址上使用修剪,以确保你最后没有“/”
trim($url,'/');