我需要使我的网站上的SEO改进的一些urls静态。我能够计算出一些简单的URL,但下面的URL给我带来了很多麻烦。这类东西我是新来的。
我为下面的urls编写了一些规则,但是我无法使它们工作。
我有以下URL
动态URL
http://www.site.net/project.php?projectid=2
http://www.site.net/project.php?projectid=2&do=issuelist
http://www.site.net/project.php?projectid=2&do=issuelist&issuetypeid=bug我想让它们成为静态urls,得到这样的东西:
静态URL
http://www.site.net/project-2.html
http://www.site.net/project-2/do-issuelist/
http://www.site.net/project-2/do-issuelist/type-bug.htmlParams数据类型
投影:数值
do:文本
issuetypeid:文本
我的主机运行的是Linux,所以我需要的是Apache,而不是IIS。
.htaccess的url重写规则是什么?
耽误您时间,实在对不起。
发布于 2013-06-26 22:55:49
我建议采用以下结构:
http://www.site.net/project/2
http://www.site.net/project/2/issuelist
http://www.site.net/project/2/issuelist/bug通过这种方式,您可以将/project/路径作为一个保留术语(只要您目前没有并且永远不打算在站点上有一个名为"project“的实际顶级目录)。这避免了每次使用多个RewriteCond指令来检查请求是否针对有效文件或目录。
如果这个模式适合您,那么下面的规则应该在您的.htaccess文件中起作用:
RewriteRule ^project/([0-9]+)$ /project.php?projectid=$1
RewriteRule ^project/([0-9]+)/([a-zA-Z0-9_-]+)$ /project.php?projectid=$1&do=$2
RewriteRule ^project/([0-9]+)/([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)$ /project.php?projectid=$1&do=$2&issuetypeid=$3上面的RewriteRule模式允许do和issuetypeid值包含小写、大写、数字、下划线和连字符,但是您应该修改模式以适应站点允许的实际约束。
https://stackoverflow.com/questions/17327778
复制相似问题