У меня есть это правило перезаписи в моем скрипте htaccess, но всякий раз, когда я делаю var_dump на $ _GET, он пуст, как и значения из URL не читаются в PHP.
<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>
Пример URL: … / index.php / main / featured / 1
Как можно решить эту проблему?
Спасибо!
Я считаю, что эти два условия:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
не встречаются, так как ваш URL /index.php/main/featured/1
, По крайней мере, у меня это тоже не сработало. Вы можете удалить index.php
часть как из RewriteRule
и ваш URL, делая .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.
Других решений пока нет …