2013-10-30 101 views
0

如果这是重复,我真诚道歉。我已经看过这么多线程,但似乎没有具体适用于我正在尝试做的事情。出于某种原因,我只是有如此困难的时间包裹着我的大脑.htaccess重写规则!htaccess友好的网址重写

我购买了一个PHP脚本,并安装它后,我创建了一个新的岗位上工作得很好..当然除了,它表明:mydomain.com/post.php?id=7

要我要是显示帖子的标题后.com/

我知道一些会建议使用职位ID或日期或东西,但我真的更喜欢它被写为陈述。所以最终的结果是:mydomain.com/this-is-my-first-post

然后我希望能够正确地调用这个页面。我认为这将全部在index.php页面(它调用post.php页面)完成?

我发现在index.php文件,目前调用后的行,它看起来像这样:

<a href="post.php?id=<?php echo $theArticle['artId']; ?>"><h1><?php echo $theArticle['title']; ?></h1></a> 

是不是也有什么,我需要更新吗?

感谢您的任何帮助。我真的已经尝试过,但我只是没有编程思想和奋力拼搏!

+1

这太广泛了,因为它不仅涉及重写url,还准备在URL中使用的标题并从数据库中检索正确的信息。你应该打破这个问题,尝试解决不同的部分,并在这里发布更具体的问题。 – jeroen

+0

如果您的脚本被写入以获取数字ID,那么您可以给它一个字符串标题并期望它能够正常工作。 –

+0

对不起。请忽略php部分。如果我使用htaccess的话,我会解决这个问题。谢谢! –

回答

1

你的问题有点过于宽泛,但如果你愿意妥协,您可以将网址更改为类似:

mydomain.com/post/7/the-title-of-post-7 

然后你只需要一个重写规则,并在不改变数据库检索代码。

在这种情况下,重写规则将类似于:

RewriteRule ^post/(\d+).*$ /post.php?id=$1 
        ^^^^^ capture the number to be used 

你会当然也需要重写所有链接到所需要的格式。

+0

嗨Jeroen, 谢谢..我确实让它按照你的建议工作。把这些东西放在一边(抱歉,我没有解决这个问题),是不是有可能只有domain.com/title?我看到像这样的网站可以实现这一点。 只是好奇。再次感谢您的帮助! –

+0

@MarcyStephens你可以,但你必须为每个帖子和索引产生一个独特的slu//网址标题。你还必须更改SQL来获得正确的帖子。 – jeroen

+1

我继续前进并使用此解决方案。它尽可能地接近我现在可以得到的,至少那个标题在那里。谢谢,杰罗恩! –