我是一个非常熟练的程序员,但是当谈到RegEx和重写时,我总是n00b.我想转换一个URL
http://www.example.com/lookup.php?id=1
Run Code Online (Sandbox Code Playgroud)
至
http://www.example.com/lookup/1/item/
Run Code Online (Sandbox Code Playgroud)
其中"item"指的是正在查找的数据库中项目的名称.
我正在使用LAMP(Linux,Apache,MySQL,PHP),在我的生活中,我不能弄清楚如何转换URL以使它们对SEO友好.
这有效:
HTML
<a href="/search/querystring">query</a>
Run Code Online (Sandbox Code Playgroud)
htaccess的
RewriteRule ^search/([-0-9a-z]+)$ /search.php?q=$1 [L]
Run Code Online (Sandbox Code Playgroud)
浏览搜索表单:
<form method="get" action="/search">
<input type="search" name="q" value="querystring" />
<input type="submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
这是否可以使用htaccess或者我是否需要在search.php中使用PHP重定向?
示例所需的结果:http://twitter.com/search/hello
编辑
我不喜欢依赖JavaScript来执行此操作,因此搜索引擎和禁用JavaScript的人也会看到这一点.