перенаправление htaccess

#php #zend-framework #.htaccess

#php #zend-framework #.htaccess

Вопрос:

Я размещаю приложение, созданное с использованием zend framework. и у меня есть файл .htaccess в общей папке, чтобы перенаправлять все запросы для прохождения index.php . Это работает, но я не получаю параметры запроса в приложении. Почему это?

 RewriteEngine on
Options  FollowSymlinks

RewriteBase /
RewriteRule !.(js|ico|txt|gif|GIF|jpg|png|PNG|css|xml|JPG)$ 

index.php
  

Комментарии:

1. Как вы определяете, что вы не получаете параметры запроса? Можете ли вы опубликовать пример запроса и код, который, как вы ожидаете, будет работать?

Ответ №1:

Это не очень надежное решение. Что происходит, когда делается запрос к расширению файла, не включенному в ваш список?

Стандартные правила ZF 1.11 намного лучше

 RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
  

Комментарии:

1. @Vir Что за сообщение об ошибке? Это будет в вашем журнале ошибок Apache.

2. Перезаписать движок с параметрами следующие ссылки перезаписать базу данных / перезаписать второй %{REQUEST_FILENAME} -s [ИЛИ] Перезаписать второй %{REQUEST_FILENAME} -l [ИЛИ] Перезаписать второй %{REQUEST_FILENAME} -d RewriteRule ^.*$ — [NC,L] RewriteRule ^.*$ index.php [NC,L] по-прежнему не получает параметр запроса ring

3. @Vir 1) Это не сообщение об ошибке, и 2) Обычно вам нужна веская причина для добавления RewriteBase . Зачем вы это добавляете?

4. В противном случае я получаю запрошенный URL / index / auth не был найден на этом сервере. ошибка

Ответ №2:

При этом ВСЕ запросы, за исключением перечисленных типов файлов, будут переданы в index.php

 RewriteCond %{REQUEST_FILENAME} !.(js|ico|txt|gif|GIF|jpg|png|PNG|css|xml|JPG)$
RewriteRule (.*)$ http://domain.com/index.php$1 [R=301,L]
  

Комментарии:

1. Кроме того, если вы хотите сократить свои URL-адреса, возможно, попробуйте сделать это: RewriteRule ^(.*).htm$ /index.php?p=$1