Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: как настроить apache2,чтобы работал .htaccess  (Прочитано 8829 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Добрый день.UBUNTU 11.10.Собрал сервер.Есть apache2,vsftpd,В папке home/maxcim/www установил сайт.Файл .htaccess видаRewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|ckeditor)
RewriteRule ^(.*)$ /index.php/$1 [L]
.Нужно,чтобы при помощи .htaccess убирать файл index.php из адресной строки сайта..htaccess полностью работоспособный т.к. на одном из платных хостингов создавал поддомен и там прогонял сайт.index.php- убирается все отлично.Получается дело в сервере который я собрал.Надо его просто настроить,чтобы он убирал этот .htaccess.Кроме того этот файл.htaccess не виден по ftp  может это как то связано.

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #1 : 03 Июля 2012, 16:08:30 »
директива allowoverride в конфиге в хоста.
Цитировать
Надо его просто настроить,чтобы он убирал этот .htaccess.
кто ? кого? выражайся яснее.
Цитировать
Кроме того этот файл.htaccess не виден по ftp  может это как то связано.
никак.

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #2 : 04 Июля 2012, 10:24:43 »
Это я ошибся убирать собрался конечно index.php.Где в apache2 прописать условие,чтобы было разрешено пользоваться .htaccess при помощи которого убирается index.php Если это директива allowoverride то нашел ее в файле defaulf папки sites-available в этом файле AllowOverride встречается несколько раз я в одном месте поставил All но ничего не изменило файл .htaccess не подключился,где еще менять? <VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/maxcim/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /home/maxcim/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
« Последнее редактирование: 04 Июля 2012, 11:00:39 от ottawa1 »

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #3 : 04 Июля 2012, 10:48:13 »
Настроить apache2,чтобы убирал .htaccess
откуда убирал? или что убирал? или кто убирал? - "моя твоя не понимать". если ты имеешь ввиду что хочешь убрать Index.php из адресной строи средствами mod_rewrite через htaccess , то так и пиши. любой человек открывший эту тему и прочитав последний пост не поймет что ты хочешь. предположу что сейчас у тебя htaccess вообще не работает, почему ? выше я уже писал
Цитировать
директива allowoverride в конфиге в хоста.
. сменить "none" на "all"

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #4 : 04 Июля 2012, 11:03:39 »
Так allowoverride встечается в этом файле 4 раза.Везде сменить на All?

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #5 : 04 Июля 2012, 11:04:18 »
Цитировать
<Directory /home/maxcim/www/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      allow from all
   </Directory>
только тут

Пользователь решил продолжить мысль 04 Июля 2012, 11:05:26:
Цитировать
поставил All но ничего не изменило файл .htaccess не подключился,где еще менять?
апач перезапускал ?
sudo apache2ctl restart
Пользователь решил продолжить мысль 04 Июля 2012, 11:12:15:
и еще
Цитировать
RewriteCond $1 !^(index\.php|images|css|js|ckeditor)
RewriteRule ^(.*)$ /index.php/$1 [L]
эти правила не убирают index.php, они переадресовывают все запросы через index.php. или я не правильно тебя понимаю что значит по-твоему, убрать Index.php. тогда напиши  предполагаемый URL запроса и какой результат ожидаешь получить.
« Последнее редактирование: 04 Июля 2012, 11:12:15 от xeon_greg »

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #6 : 04 Июля 2012, 11:48:19 »
Да это перенаправление.Если идет обращение не к файлу index.php не к папке images ,css ,js применяется правило Rewrite Rule и подставляем $1-тот файл к которому было обращение это позволяет скрыть из url-адреса файл index.php т.е. выражение http://mysite/index.php/pages/slav будет выгядеть как http://mysite/pages/slav -это одна из страниц сайта.Кстати все сделал перезапустил апач но все равно страницы видны только с index.php .Такое впечатление что .htaccess не включился

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #7 : 04 Июля 2012, 11:56:06 »
Цитировать
выражение http://mysite/index.php/pages/slav будет выгядеть как http://mysite/pages/slav
- такие правила как ты написал  такого не сделают (имеется в виду клиент запросивший http://mysite/index.php/pages/slav, его же и получит). 
и если
Цитировать
<Directory /home/maxcim/www/>
      Options Indexes FollowSymLinks MultiViews
      AllowOverride All
      Order allow,deny
      allow from all
   </Directory>
и .htaccess файл лежит в /home/maxcim/www/ , то он уже работает.

Пользователь решил продолжить мысль 04 Июля 2012, 12:05:59:
Цитировать
http://mysite/pages/slav
какую ошибку выдает ? 404?
« Последнее редактирование: 04 Июля 2012, 12:05:59 от xeon_greg »

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #8 : 04 Июля 2012, 12:13:45 »
да 404 .Клиент запрашивает http://mysite/pages/slav и получает 404  но потом добавляю руками index.php т.е. http://mysite/index.php/pages/slav и появляется страница.Я ведь раньше мудрил с .htaccess а теперь когда попробовал на платном хостинге и все получилось.Понял что это в настройках апача что то надо прописывать.

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #9 : 04 Июля 2012, 12:16:33 »
http://mysite/index.php/pages/slav
index.php это папка?
Wars ~.o

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #10 : 04 Июля 2012, 12:22:59 »
да 404 .Клиент запрашивает http://mysite/pages/slav и получает 404  но потом добавляю руками index.php т.е. http://mysite/index.php/pages/slav и появляется страница.Я ведь раньше мудрил с .htaccess а теперь когда попробовал на платном хостинге и все получилось.Понял что это в настройках апача что то надо прописывать.
показывай
sudo apache2ctl -MS
ls -la /home/maxcim/www
cat /home/maxcim/www/.htaccess

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #11 : 04 Июля 2012, 12:42:32 »
[Wed Jul 04 12:41:10 2012] [warn] The Alias directive in /etc/apache2/conf.d/awstats.conf at line 1 will probably never match because it overlaps an earlier Alias.
[Wed Jul 04 12:41:10 2012] [warn] The Alias directive in /etc/apache2/conf.d/awstats.conf at line 2 will probably never match because it overlaps an earlier Alias.
[Wed Jul 04 12:41:10 2012] [warn] The Alias directive in /etc/apache2/conf.d/awstats.conf at line 3 will probably never match because it overlaps an earlier Alias.
[Wed Jul 04 12:41:10 2012] [warn] The ScriptAlias directive in /etc/apache2/conf.d/awstats.conf at line 4 will probably never match because it overlaps an earlier ScriptAlias.
[Wed Jul 04 12:41:10 2012] [warn] The ScriptAlias directive in /etc/apache2/conf.d/awstats.conf at line 5 will probably never match because it overlaps an earlier ScriptAlias.
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80                   is a NameVirtualHost
         default server localhost.localdomain (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost localhost.localdomain (/etc/apache2/sites-enabled/000-default:1)
         port 80 namevhost prikosnovenie.chg.su (/etc/apache2/sites-enabled/prikostovenie.chg.su:1)
         port 80 namevhost sait1.prikosnovenie.chg.su (/etc/apache2/sites-enabled/sait1.prikosnovenie.chg.su:1)
Loaded Modules:
 core_module (static)
 log_config_module (static)
 logio_module (static)
 mpm_prefork_module (static)
 http_module (static)
 so_module (static)
 alias_module (shared)
 auth_basic_module (shared)
 authn_file_module (shared)
 authz_default_module (shared)
 authz_groupfile_module (shared)
 authz_host_module (shared)
 authz_user_module (shared)
 autoindex_module (shared)
 cgi_module (shared)
 deflate_module (shared)
 dir_module (shared)
 env_module (shared)
 mime_module (shared)
 negotiation_module (shared)
 php5_module (shared)
 reqtimeout_module (shared)
 rewrite_module (shared)
 setenvif_module (shared)
 status_module (shared)
 vhost_alias_module (shared)
Syntax OK
maxcim@maxcim-System-Product-Name:~$

Оффлайн xeon_greg

  • Активист
  • *
  • Сообщений: 981
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #12 : 04 Июля 2012, 12:50:34 »
а остальное?

Оффлайн ottawa1

  • Автор темы
  • Участник
  • *
  • Сообщений: 130
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #13 : 04 Июля 2012, 12:55:27 »
maxcim@maxcim-System-Product-Name:~$ ls -la /home/maxcim/www
итого 32
drwxrwxrwx  7 maxcim www-data 4096 2012-06-18 09:46 .
drwxrwxrwx 46 maxcim maxcim   4096 2012-06-29 17:32 ..
-rwxrwxrwx  1 maxcim www-data 3253 2012-04-10 12:38 .htaccess
drwxrwxrwx 21 maxcim root     4096 2012-05-31 09:43 prikosnovenie.chg.su
drwxr-xr-x  2 maxcim root     4096 2012-05-25 12:00 sait1.prikosnovenie.chg.su
drwxrwxrwx 12 maxcim root     4096 2012-07-03 15:32 s.r.chg.su
drwxrwxrwx 11 maxcim root     4096 2012-06-29 13:45 vizitka2
drwxrwxrwx 17 maxcim root     4096 2012-06-10 13:03 voxel
maxcim@maxcim-System-Product-Name:~$
maxcim@maxcim-System-Product-Name:~$ cat /home/maxcim/www/.htaccess
##
# @version $Id: htaccess.txt 21101 2011-04-07 15:47:33Z dextercowley $
# @package Joomla
# @copyright Copyright (C) 2005 - 2011 Open Source Matters. All rights reserved.
# @license GNU General Public License version 2 or later; see LICENSE.txt
##

##
# READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE!
#
# The line just below this section: 'Options +FollowSymLinks' may cause problems
# with some server configurations.  It is required for use of mod_rewrite, but may already
# be set by your server administrator in a way that dissallows changing it in
# your .htaccess file.  If using it causes your server to error out, comment it out (add # to
# beginning of line), reload your site in your browser and test your sef url's.  If they work,
# it has been set by your server administrator and you do not need it set here.
##

## Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

## Mod_rewrite in use.

RewriteEngine On

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts` to Joomla!
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

## Begin - Custom redirects
#
# If you need to redirect some pages, or set a canonical non-www to
# www redirect (or vice versa), place that code here. Ensure those
# redirects use the correct RewriteRule syntax and the [R=301,L] flags.
#
## End - Custom redirects

##
# Uncomment following line if your webserver's URL
# is not directly related to physical file paths.
# Update Your Joomla! Directory (just / for root).
##

# RewriteBase /

## Begin - Joomla! core SEF Section.
#
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
#
# If the requested path and file is not /index.php and the request
# has not already been internally rewritten to the index.php script
RewriteCond %{REQUEST_URI} !^/index\.php
# and the request is for something within the component folder,
# or for the site root, or for an extensionless URL, or the
# requested URL ends with one of the listed extensions
RewriteCond %{REQUEST_URI} /component/|(/[^.]*|\.(php|html?|feed|pdf|vcf|raw))$ [NC]
# and the requested path and file doesn't directly match a physical file
RewriteCond %{REQUEST_FILENAME} !-f
# and the requested path and file doesn't directly match a physical folder
RewriteCond %{REQUEST_FILENAME} !-d
# internally rewrite the request to the index.php script
RewriteRule .* index.php [L]
#
## End - Joomla! core SEF Section.
<FilesMatch ".(js|css)$">
SetOutputFilter DEFLATE
</FilesMatch>maxcim@maxcim-System-Product-Name:~$

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: как настроить apache2,чтобы работал .htaccess
« Ответ #14 : 04 Июля 2012, 13:03:53 »
где файл index.php?
Wars ~.o

 

Страница сгенерирована за 0.048 секунд. Запросов: 25.