在我参与过的其他网站中,我已经能够使用.htaccess中的以下内容轻松生成搜索引擎友好的URL:
<files entry>
ForceType application/x-httpd-php5
</files>
我正在开发一个由运行PHP作为快速CGI的公司托管的网站,但这不起作用。我正在尝试获取以下网址 - http://somewhere.com/blog/entry/12/this-is-the-title
我只是在寻找id(示例中为12)并且不一定需要标题(我的逻辑背后是标题可能被客户端更改,链接可能会被破坏)。我尝试了以下mod_rewrite但是如果我添加标题它不起作用:
RewriteEngine on
RewriteRule ^entry/([^/\.]+)/?$ index.php?id=$1 [L]
我以前从未使用过mod_rewrite,而且我遇到的很多文档都是关于实现更复杂的结果。任何帮助将不胜感激
答案 0 :(得分:1)
如果.htaccess文件实际上放在/blog/.htaccess中,则需要RewriteBase /blog/
行。
仅查找数字也有助于限制返回的ID。
RewriteRule ^blog/entry/([01-9]+)/?$ index.php?id=$1 [L]
这也会删除正则表达式的'/?$'部分。最后的'$'将匹配锚定到字符串的末尾 - 您只需要数字,并且可以忽略任何不是数字的内容。