我需要格式化我的URL使用.htaccess文件,但我的脚本不工作


I need to format my URL using .htaccess file but my script not working

这是我的URLhttp://www.example.com/details.php?id=12&页面= 120. v2013 - 09 - 18. - by.acme

My htaccess script

RewriteEngine On
RewriteRule ^details/([^/]*)/([^/]*)'.html$ /details.php?id=$1&post=$2 [L] 

我需要得到我的URLhttp://www.example.com/details/12/120.v2013 - 09 - 18. - by.acme.html

我怎么能改变我的url以上格式。请帮帮我。

你需要另一个规则将旧url重定向到漂亮的url:

Options -MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /details'.php'?id=([^'s&]+)&post=([^'s&]+)'s [NC]
RewriteRule ^ /detail/%1/%2? [R=302,L,NE]
RewriteRule ^details/([^/]+)/([^.]+)'.html$ details.php?id=$1&post=$2 [L,QSA,NC] 

一个非常聪明的人曾经说过,与其给饥饿的人鱼,不如教他如何钓鱼。所以我不会给出确切的解。然而,我有一些建议给你。

从教程中的一些小而简单的片段开始,这绝对有效。如果你可以让它在你的服务器上工作,那么你可以一步一步地修改它到你想要的形式。

如果你不能使它工作,确保你的服务器上已经启用了mod_rewrite。你可以很容易地谷歌如何做到这一点。但是,有些主机可能根本不允许您这样做。

实际上,即使没有。htaccess和mod_rewrite,也可以拥有很酷的URL。看看这个答案。

知道有一些已经准备好的很酷的url的解决方案,大多数PHP框架都有。实际上,做任何网页没有任何框架是痛苦的屁股。你可以尝试例如Laravel(似乎是最流行的一个现在)。我现在用的是Nette,我再也不会做没有它的网页了。