【发布时间】:2012-06-29 12:48:43
【问题描述】:
我试图以这样的格式创建一个对 SEO 友好的 url
http://web_url/news/**news_title**/**newsid**
被重定向到
http://web_url/index.php?t=news&newsid=newsid
我写了以下 .htaccess 规则,但只要 url 格式没有特殊字符,它就会失败,但是一旦 url 中存在特殊字符,它就会失败
eg. http://web_url/news/mywebsite.com is live!/4
这是我的规则:
RewriteRule ^news/([a-zA-Z0-9_-]+)/([0-9]+)$ index.php?t=news&newsid=$2
RewriteRule ^news/([a-zA-Z0-9_-]+)/([0-9]+)/$ index.php?t=news&newsid=$2
任何帮助将不胜感激
【问题讨论】:
-
喜欢什么样的特殊字符?您的表达式只允许使用连字符或下划线。
-
另外请澄清一下,您希望它在没有特殊字符时工作,否则会失败,但目前一切都失败了?您还可以通过将最后一个
/设为可选并在末尾添加/?来组合这两个规则。
标签: apache .htaccess mod-rewrite