如何将www.sitename.com/thing/thing.php?otherthing=something-like-this重写为www.sitename.com/something-like-this?

时间:2011-07-31 23:01:28

标签: apache .htaccess mod-rewrite

如何重写

  

www.sitename.com/thing/thing.php?otherthing=something-like-this

  

www.sitename.com/something-like-this?

请帮助我,因为我似乎无法成功。我的主机使用apache 2.2。非常感谢你的帮助!

更新

不,我不需要那个尾随?但是,我使用了你提供给我的重写规则,它仍然无效。我还在规则之前添加了RewriteEngine On。

我有Linux托管,.htaccess,代码显然在语义上是正确的,否则我会得到所有如此受欢迎的500内部服务器错误。我将.htaccess文件放在文件夹的东西和网站的根目录中,但它仍然无效。

2 个答案:

答案 0 :(得分:0)

应该有一个选项以目录格式而不是PHP ?格式显示它。如果没有,您可以使用.htaccess mod_rewrite规则以/folder/方式进行显示。

我这样做的方法是,我只上传文件,每个页面名称为index.html,然后创建文件夹,并将每个index.html放入文件夹中。像这样:

/guidelines/

在该文件夹中index.html,而不是/guidelines.html /guidelines/

没有.html

,效果会更好

答案 1 :(得分:0)

您需要使用mod_rewrite:

RewriteCond %{QUERY_STRING} ^otherthing=(.*)$
RewriteRule ^thing/thing.php$ /%1? [L]

不知道你是否打算在重写结束时使用?,我认为这不可行。请注意,RewriteRule末尾的?是要删除查询字符串,否则,重写的URL最后仍会有?otherthing=something-like-this