菜鸟Url重写2

Rookie Url Rewriting 2

我的 htaccess 脚本中有这个重写规则,但是每当我在 $_GET 上执行 var_dump 它是空的,就像 url 中的值没有读入 PHP .

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

url 示例:.../index.php/main/featured/1

如何解决这个问题?

谢谢!

我相信这两个条件:

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

不满足,因为你的 URL 是 /index.php/main/featured/1。至少它对我也不起作用。你可以从 RewriteRule 和你的 URL 中删除 index.php 部分吗,使 .htaccess:

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

并导航至 URL /main/featured/1 或者如果您确实需要 index.php 部分,则 uncomment/remove 这些条件:

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

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