Apache / mod_rewrite / Periods搞乱模式

时间:2010-01-16 12:25:07

标签: apache .htaccess mod-rewrite

第一个问题,这里什么都没有......

我正在尝试在我的.htaccess文件(Apache服务器)中添加一个新条目,希望翻译此网址:

http://platform.localhost/category.all

进入此网址:

http://platform.localhost/index.php?page=category.all

我目前使用的RewriteRule是:

RewriteRule ^([^/\.]+)\/?$ index.php?page=$1

到目前为止,这条规则对所有网址都运行良好,我只能假设它是打破它的时期。

我想要实现的是在“http://platform.localhost/”传入index.php的“page”变量后,在URL中有任何内容。

我知道我错过了一些愚蠢的事情,有人可以好心点指出吗?

干杯

2 个答案:

答案 0 :(得分:2)

模式说拒绝点,但你可以做tis:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?page=$1 [QSA,L]

答案 1 :(得分:0)

为什么不是这样的:

  RewriteRule index.php - [L]
  RewriteRule (.*) index.php?$1

这可能会失败,因为我不记得在匹配模式时是否包含查询字符串,所以我不确定如果你请求会导致什么结果:

http://bla.blub/x?q=1

另请注意,这是针对.htaccess /目录上下文的。