【问题标题】:Rookie Url Rewriting 2菜鸟网址重写 2
【发布时间】:2016-03-10 19:18:35
【问题描述】:

我的 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

如何解决这个问题?

谢谢!

【问题讨论】:

标签: php url rewriting


【解决方案1】:

我相信这两个条件:

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

不符合,因为您的 URL 是 /index.php/main/featured/1。至少它对我也不起作用。您能否从RewriteRule 和您的网址中删除index.php 部分,制作.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>

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

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

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

【讨论】:

    猜你喜欢
    • 2015-12-25
    • 2015-02-26
    • 2010-10-08
    • 2018-07-31
    • 1970-01-01
    • 2011-02-18
    • 2011-03-22
    • 2015-04-12
    相关资源
    最近更新 更多