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


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

Автор Тема: Настройка apache2 с mod_rewrite как на денвере  (Прочитано 1653 раз)

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

Оффлайн g0dez

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Привет всем!

У меня стоит ubuntu14-04
Apache Server version: Apache/2.4.7
mysql 5.5.41-0ubuntu0.14.04.1
php PHP 5.5.9-1ubuntu4.5 (cli)

Ставила просто отдельно просто пакеты без lamp и всего такого. Сайты на простом php прекрасно работают!
Решила попробовать simplacms. И начались проблемы не открывались ссылки, я обратилась к ним на форум, там сказали что стандартно все у них работает на денвере или опенсервер. Это у меня проблемы с mod_rewrite. Я включила mod_rewrite командой sudo a2enmod rewrite стало полегче часть ссылок даже открываются, однако не все. На некоторых просто пустая страница. Никаких ошибок. Специально поставила винду посмотрела на денвере, действительно, все работает.

Собственно, у сайта есть .htaccess в котором прописано как формируются урлы. Хочу узнать как настроить mod_rewrite под Ubuntu, чтобы все наконец заработало. Прыгать по системам совершенно не удобно!!! Что там такого в денвере с mod_rewrite, что с обычным апачем не работает?

сам .htaccess:
ErrorDocument 401 /password.php
RewriteEngine on

# Админка теперь по адресу /simpla
RewriteRule ^admin/?$  simpla [L]


# Каталог товаров
RewriteRule ^catalog/([^/]+)/?$ index.php?module=ProductsView&category=$1 [L,QSA]
RewriteRule ^catalog/([^/]+)/([^/]+)/?$ index.php?module=ProductsView&category=$1&brand=$2 [L,QSA]

RewriteRule ^products/([^/]+)/?$ index.php?module=ProductView&product_url=$1 [L,QSA]
RewriteRule ^products/?$ index.php?module=ProductsView [L,QSA]

RewriteRule ^brands/([^/]+)/?$ index.php?module=ProductsView&brand=$1 [L,QSA]
RewriteRule ^brands/([^/]+)/page_([^/]+)/?$ index.php?module=ProductsView&brand=$1&page=$2 [L,QSA]

# Поиск товаров
RewriteRule ^search/([^/]+)/?$ index.php?module=ProductsView&keyword=$1 [L,QSA]
RewriteRule ^search/?$ index.php?module=ProductsView [L,QSA]

# Блог
RewriteRule ^blog/([^/]+)/?$ index.php?module=BlogView&url=$1 [L,QSA]
RewriteRule ^blog/?$ index.php?module=BlogView [L,QSA]

# Корзина и заказы
RewriteRule ^cart/?$ index.php?module=CartView   [L,QSA]
RewriteRule ^cart/([^/]+)/?$ index.php?module=CartView&add_variant=$1  [L,QSA]
RewriteRule ^cart/remove/([^/]+)/?$ index.php?module=CartView&delete_variant=$1  [L,QSA]
RewriteRule ^order/([^/]+)/?$ index.php?module=OrderView&url=$1  [L,QSA]
RewriteRule ^order/?$ index.php?module=OrderView  [L,QSA]

# Для пользователей
RewriteRule ^user/login/?$ index.php?module=LoginView  [L,QSA]
RewriteRule ^user/register/?$ index.php?module=RegisterView  [L,QSA]
RewriteRule ^user/logout/?$ index.php?module=LoginView&action=logout  [L,QSA]
RewriteRule ^user/password_remind/?$ index.php?module=LoginView&action=password_remind  [L,QSA]
RewriteRule ^user/password_remind/([0-9a-z]+)/?$ index.php?module=LoginView&action=password_remind&code=$1  [L,QSA]
RewriteRule ^user/?$ index.php?module=UserView  [L,QSA]

# Google sitemap
RewriteRule ^sitemap.xml?$ sitemap.php  [L,QSA]

# XML
RewriteRule ^yandex.xml?$ yandex.php  [L,QSA]

# feedback
RewriteRule ^contact/?$ index.php?module=FeedbackView  [L,QSA]

#downloads
RewriteRule ^order/([^/]+)/([^/]+)/?$ index.php?module=OrderView&url=$1&file=$2  [L,QSA]


# Статические страницы
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]*)/?$ index.php?module=PageView&page_url=$1 [L,QSA]
RewriteRule ^/?$ index.php?module=MainView&page_url= [L,QSA]

# Ресайз картинок на лету
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^files/products/(.+) resize/resize.php?file=$1&token=%{QUERY_STRING}
#RewriteCond %{THE_REQUEST} ^GET\ (.*)files/products/(.*)\?([A-z0-9]*)
#RewriteRule ^files/products/(.+) resize/resize.php?file=%2&token=%3 [L,NE]

Настройка виртуального хоста:
<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName site.com
        DocumentRoot /home/user/www/site.com

        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /home/user/www/site.com/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet



Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: Настройка apache2 с mod_rewrite как на денвере
« Ответ #1 : 18 Февраля 2015, 21:32:39 »
sudo chown www-data: -R /home/user/www/site.comобновить сайт.
Wars ~.o

Оффлайн g0dez

  • Автор темы
  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: Настройка apache2 с mod_rewrite как на денвере
« Ответ #2 : 18 Февраля 2015, 22:21:11 »
Да, спасибо, все заработало!

 

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