2015-06-06 5 views
0

Все,Htaccess правила перезаписи не работает

Я пытаюсь перенаправить хиты через Htaccess перенаправить скрипты.

Ниже приведены мои сценарии htaccess.

Options +FollowSymlinks 
RewriteEngine on 
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^post/(.*)/$ post.php?tag=$1 [L] 
RewriteRule ^search/(.*)$ search.php?tag=$1 [L] 

Ошибка: указатель и страница поиска перенаправляются. Почтовая страница не перенаправляется.

Пожалуйста, помогите о том, как это исправить

ответ

1

Попробуйте это в корневом .htaccess:

Options +FollowSymlinks -MultiViews 
RewriteEngine on 

RewriteRule ^index\.php$ - [L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule^- [L] 

RewriteRule ^post/(.+)$ post.php?tag=$1 [L,NC,QSA] 

RewriteRule ^search/(.+)$ search.php?tag=$1 [L,NC,QSA] 
+0

Это отлично работает. Но код, который появлялся в search.php? Tag = news, был хорошим, но поиском/новостями. Похоже, он очень сложен. Любые другие настройки необходимо сделать? – user3138111

+0

Извините, не получил, какое правило здесь неуклюжие? Правило 'search' - это правило' post'. – anubhava

+0

Не правило. Тестирование страницы search.php? Tag = news показывало хорошие результаты, но поиск/новости не отображали страницы правильно. Я проверил html, и он выглядит таким же. – user3138111

0

Apache из коробки не позволяет использовать Htaccess файлов. Если вы не отредактировали файл /etc/apache2/sites-available/default, вам нужно будет это сделать. Посмотрите на этот кусок кода:

<Directory /var/www/> 
      Options Indexes FollowSymLinks MultiViews 
      AllowOverride None 
      Order allow,deny 
      allow from all 
      # Uncomment this directive is you want to see apache2's 
      # default start page (in /apache2-default) when you go to/
      #RedirectMatch ^/$ /apache2-default/ 
    </Directory> 

И изменить AllowOverride None к AllowOverride All. После того, как вы изменили это, вам нужно будет перезапустить Apache для изменений (service apache2 restart).

Caveat

Большинство из того, что вы хотите сделать с помощью Htaccess файлы можно сделать более надежно с помощью файлов конфигурации Apache (отсюда файлы HTAccess игнорируются по умолчанию). См. this post.

Смежные вопросы