Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用.htaccess定义友好的URL规则?_Php_Url_Mod Rewrite_Url Rewriting - Fatal编程技术网

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

Php 如何使用.htaccess定义友好的URL规则?,php,url,mod-rewrite,url-rewriting,Php,Url,Mod Rewrite,Url Rewriting,很长一段时间我试图定义重写规则,但我还没有成功?我有一个简单的页面。我想通过以下方式使它变得友好: 我花时间在谷歌上之后写下了这条规则: Options +FollowSymlinks RewriteEngine On RewriteRule ^pdf/([0-9]+)\$ pdf.php?id=$1. 当我将.htaccess文件上传到服务器上并尝试首先运行时,它会给我500个错误。第二次它加载页面,但它不能显示我友好的网址;它像以前一样出现了。 请告诉我更好的解决方案,我按照许多指示使其

很长一段时间我试图定义重写规则,但我还没有成功?我有一个简单的页面。我想通过以下方式使它变得友好:

我花时间在谷歌上之后写下了这条规则:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^pdf/([0-9]+)\$ pdf.php?id=$1. 
当我将.htaccess文件上传到服务器上并尝试首先运行时,它会给我500个错误。第二次它加载页面,但它不能显示我友好的网址;它像以前一样出现了。
请告诉我更好的解决方案,我按照许多指示使其有用,但未能成功。除非我向我的客户展示一个友好的URL,否则我的客户不会再进一步了。请尽快帮助我。这是我的客户托管组织:Justhost.com

您可以使用Apache的重写引擎来实现这一点。大概是这样的:

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

这将允许您转到一个非常简单的教程,介绍如何使用Apache的mod_rewrite创建友好的URL。

现在可能有点太多,但是您可以查看一些可用的MVC框架来帮助您解决这个问题。我猜主机只提供PHP5.2,所以我想看看Zend Framework 1.12中的路由/控制器解决方案来解决这个问题,因为它可以在现有代码中实现,不会有太多麻烦。

您的主机上是否允许设置
+FollowSymLinks
?并在
$
之前丢失
\
。谢谢回复。我添加了你的规则Jordan并遵循了你的教程。但它没有表现出来。我问过我的托管公司,他们告诉我他们修改了加载,我哪里做错了?我只是在RewriteRule ^pdf/([0-9/]+)$/pdf.php上添加了选项+FollowSymlinks RewriteEngine,并将其上传到根文件夹中????请给我导游。我需要添加一些其他代码来处理这个问题吗????等待。请我的htaccess文件正在加载,但无法使用我的重写规则。。。