htaccess rewriterule用于抓取所有主机名

时间:2010-07-12 17:54:50

标签: apache .htaccess mod-rewrite

我想要一个htaccess重写规则来获取主机名之外的所有内容并将其用作参数。例如,我希望http://example.com/one

处理http://example.com/category.php?cat=one

我认为应该很简单,但我找不到这种组合。 感谢

2 个答案:

答案 0 :(得分:1)

这就是我提出的:

RewriteRule ^/?([^\./]*)[:;,\.]*$ category.php?cat=$1 [L,NS]

有人看到任何方法来改善它吗?

答案 1 :(得分:0)

尝试这样的事情:

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ category.php?cat=$0 [B]

如果您也想传递查询字符串,请务必将B标志更改为B,QSA,但请注意,有人可以传递GET参数cat,会覆盖你在重写中设置的内容。如果你需要它们,有一些解决方法,但除此之外应该为你做。