如何使用.htaccess删除部分URL

时间:2009-07-16 18:18:06

标签: .htaccess mod-rewrite

我有这样的网址。

/domains/details.php(注意:domains是动态的,可以是任何东西)

如何使用.htaccess从URL中删除domains部分,以便实际查找:

/details.php

如果我可以将domains放入网址,那就太酷了。 /details.php?page=domains

谢谢! 斯科特

2 个答案:

答案 0 :(得分:5)

RewriteEngine on
RewriteBase /

RewriteRule ^([^/]+)/details.php$ /details.php?page=$1 [R=301]

如果您想要内部重定向而不是实际的HTTP重定向,请不要使用[R=301]

要保留现有查询参数,您可以将规则更改为:

RewriteRule ^([^/]+)/details.php(.*)$ /details.php?page=$1&%{QUERY_STRING} [R=301]

答案 1 :(得分:1)

请尝试使用以下规则来处理您的上一次请求:

RewriteRule ^(?!domains/.*)([^/]+)/details.php$ domains/details.php?page=$1 [R=301,QSA]
RewriteRule ^domains/details.php$ details.php [NC,L]