Rookie Url重写2

时间:2015-12-05 23:57:47

标签: php url rewriting

我的htaccess脚本中有这个重写规则,但每当我在$ _GET上执行var_dump时它都是空的,就像在PHP中不读取url中的值一样。

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^index.php/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?app=$1&page=$2&category=$3 [L]
</ifModule>

网址示例:... / index.php / main / featured / 1

如何解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:1)

我相信这两个条件:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
由于您的网址为/index.php/main/featured/1,因此无法满足

。至少它对我来说也不起作用。您可以从index.php和您的网址中删除RewriteRule部分,制作.htaccess:

<ifModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ index.php?app=$1&page=$2&category=$3 [L]
</ifModule>

并导航到网址/main/featured/1,或者如果您确实需要index.php部分,请取消注释/删除这些条件:

#RewriteCond %{REQUEST_FILENAME} !-f
#RewriteCond %{REQUEST_FILENAME} !-d

并继续使用/index.php/main/featured/1网址。