我有2个网址模式:
http://www.mondomaine.com/m/99/some-title-etc/
http://www.mondomaine.com/w/287/some-title-etc/
我想在ID号后面的斜杠后隐藏/删除所有内容,我将如何在.htaccess文件中执行此操作,如下所示:
http://www.mondomaine.com/m/99/
http://www.mondomaine.com/w/287/
当然,数字是身份证号码。它们中有很多都是不同的,我只展示了两种模式的例子。
以下是我的.htaccess文件中与/ m / part相关的内容(类似于/ w / part):
[HttpGet]
[ActionName("GetStaffsPaged")]
public IEnumerable<StaffsBasicInfo> GetStaffsPaged()
{
var take = string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["take"]) ? 1000 : Convert.ToInt32(HttpContext.Current.Request.QueryString["take"]);
var skip = string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["skip"]) ? 1000 : Convert.ToInt32(HttpContext.Current.Request.QueryString["skip"]);
StaffsBasicInfoBL staffsBL = new StaffsBasicInfoBL();
List<StaffsBasicInfo> staffs = staffsBL.getAllStaffsBasicInfo();
staffs = staffs.Skip(skip).Take(take).ToList();
return staffs;
}
(我在这里看到了很多解决方案,但没有针对我的确切情况)。
答案 0 :(得分:0)
再次更新:
这适用于任何文件夹结构。
RewriteEngine On
#RewriteCond %{REQUEST_FILENAME} !-d -Due to comments no longer needed.
#RewriteCond %{REQUEST_FILENAME} !-f -Due to comments no longer needed.
RewriteRule ^(.*)/(.*/+)$ /$1 [NC,L,QSA]
#RewriteCond %{REQUEST_FILENAME} !-d -Due to comments no longer needed.
#RewriteCond %{REQUEST_FILENAME} !-f -Due to comments no longer needed.
RewriteRule ^(.*)/(.*)$ /$1 [NC,L,QSA]
第一行: 打开Rwrite。
第二行: 检查请求的文件不是目录。
第四行:如果URI中有结尾斜杠,则删除最终斜杠后的所有内容,将其删除,然后将页面定向到新链接。
然后检查中断,因为一次只能应用一个重写规则,因此应用第一个规则并重新加载URI。然后会到达第二个:
第五行:这是一个目录吗?否。
第六行:是文件吗?否。
第七行:在最终/
之后删除所有内容。完成并访问新的位置。
?this=aquerystring