2010-11-23 62 views
0

我正在寻找关于实现友好URL的最佳方式的建议。如何设置友好的URL

我目前所做的是将所有404请求重定向到index.php不存在的文件夹或文件。 的index.php读取查询字符串,使数据库调用,看看是否URL在然后根据页面类型page_urls表获取内容等等等等

的的.htaccess包含以下行:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php [L]

请问有没有更聪明的做法呢?谢谢。

谢谢。

+0

这太宽泛的问题。你真的应该更聪明地描述你的意思。 – casablanca 2010-11-23 22:39:23

+0

对此的一个想法不是关于URL重写的机制:想一想你发回的HTTP状态码。如果您在数据库中发现了一个您认为所需的页面,则永久重定向(301)到该页面的规范URL可能是最好的。或者,如果您想发送消息,说明失败的URL上的资源确实已经消失,请返回404(可选择包含认为可能对失去的人有帮助的页面内容)。如果您要返回正常(200,“确定”)的回复,那么您应该说可以继续使用这些(损坏的)网址。 – 2010-11-24 01:59:19

回答

1

我发现最好的办法是做类似如下:

RewriteEngine on 
RewriteRule ([a-zA-Z0-9_-]*)\.html index.php?page=$1 [L]