我有一个问题与使用.htaccess
文件重写网址有关。
我真的不明白为htaccess文件编写我需要的符号和语法,所以我非常感谢任何帮助。
系统信息 Joomla 2.5.9网站 我使用K2 2.6.2来创建我的内容 当我使用K2为我的博客创建内容时,我完成了“标题别名(URL)'
HTACCESS QUERY 作为一个例子,我写了一篇名为Top 10 Joomla Extensions的文章 标题别名URL为:top-10-joomla-extensions
当我在前端查看文章时,URL是: http://www.pixelfire.com.au/website-and-graphic-design-blog/的项/ 121 - 的顶部10的Joomla的扩展
我想通过删除 item / 121 - 来清理此网址 我还有许多其他项目网址,我想删除不同的ID号码。所以我需要的代码需要删除我博客中每个项目的ID号。
每个博客项目URL都有单词item / item ID number。示例项目/ 121- 理想情况下,我想用短划线删除单词项目和项目编号。
希望有人可以帮助我编写.htaccess
代码来实现这一点并向我解释它是如何工作的。
非常感谢您提前。 尼尔。
答案 0 :(得分:0)
RewriteEngine On
RewriteRule ^(.*)item/(\d+\-)?(.*) /$1$3 [R=301,L]
RewriteRule的工作原理如下:
“RewriteRule”之后和Space
之前的任何内容都是我们的规则,
在说Space
之后的任何事情都是做什么的
所以:
RewriteEngine On
打开引擎
RewriteRule
告诉apache,启动魔法。
其余的是正则表达式声明。
^
- 从字符串的开头开始
(.*)
- 获取您想要的任何内容并将其放入变量$1
item/(\d\-)?
- 确保字符串item/
后跟数字和短划线存在,但不是必须的。确保它占用$2
变量。问号说“可能在那里,但不必”。
(.*)
- 获取后续内容,并将其存储在变量$3
然后你说,重定向到:
$1$3
用于汇总存储在变量$1
和$3
中的字符串(跳过项目/ 887878 - )
最后是括号。 R=301
表示带有301标题的重写
L
说:这是你需要做的最后一件事。停在这里并重新加载。
答案 1 :(得分:0)
您想要安装一个sef组件,例如sh404sef或joomsef,它会覆盖joomla的默认路由器,并为您提供更多配置选项