如何使用.htaccess定义友好的URL规则?

时间:2013-03-12 20:48:21

标签: php url mod-rewrite url-rewriting

很长一段时间我试图定义重写规则,但我还没有成功?我有一个简单的页面http://www.myURL.com/pdf.php?id=2。我希望通过这个方式使它变得友好:http://www.myURL.com/pdf/2/ ......

我在google上花了一些时间后写了这条规则:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^pdf/([0-9]+)\$ pdf.php?id=$1. 

当我将.htaccess文件上传到服务器并尝试先运行时,它会给我500个错误。第二次它加载页面,但它无法显示友好的URL;它像以前一样显示出来。 请告诉我更好的解决方案,我遵循了许多说明,使其有用,但无法成功。除非我向他展示友好的URL,否则我的客户不会更进一步。请尽快帮助我。这是我的客户托管组织:Justhost.com。

3 个答案:

答案 0 :(得分:1)

您可以使用Apache的重写引擎执行此操作。像这样:

RewriteEngine On
RewriteRule ^pdf/([0-9/]+)$ /pdf.php?id=$1 [L]

这样您就可以转到http://yoursite.com/pdf/192而不是http://yoursite.com/pdf.php?id=192

答案 1 :(得分:0)

Here是一个非常简单的教程,使用Apache的mod_rewrite创建友好的URL。

答案 2 :(得分:0)

现在可能有点太多了,但你可以看看一些可用的MVC框架来帮助你解决这个问题。我猜测主机只提供PHP 5.2所以我要看一下Zend Framework 1.12中的路由/控制器解决方案来解决这个问题,因为它可以在没有太多麻烦的情况下实现到现有代码中。