Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование Web серверов и Web служб > Не работает mod_rewrite


Автор: vlad275 19.1.2011, 10:54
Добавил в  .htaccess строки
Цитата


RewriteEngine On
RewriteBase /
RewriteRule shop([0-9]*)/  /index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=$1


Адрес так и остался прежним. Что не правильно?
http://arrow.zymichost.com/index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=1

Автор: vlad275 10.2.2011, 02:06
Неужели никто не знает в чем ошибка? 160 просмотров, 0 ответов

Автор: ayax2005 10.2.2011, 12:07
Видимо потому, что вы не указали начало и конец паттерна знаками ^ и $

Автор: vlad275 10.2.2011, 16:47
Исправил на

RewriteEngine On
RewriteBase /
RewriteRule ^shop([0-9]*)/$  /index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=$1


Ссылка не работает :(((((( Почему?

http://arrow.zymichost.com/shop1

Автор: ayax2005 10.2.2011, 17:33
Возможно, для начала так:  ^shop([0-9]+)/$

Далее, попробуйте убрать / перед index.php, раз у вас base указан.


Если нет, покажите входящий url

Автор: Сумасшедший 10.2.2011, 20:38
AllowOverride all
?

Автор: egetmanenko 11.2.2011, 21:09
Уважаемый, а какой URL вы запрашиваете?

Автор: vlad275 12.2.2011, 10:44
Код

##
# @version $Id: htaccess.txt 14401 2010-01-26 14:10:00Z louis $
# @package Joomla
# @copyright Copyright (C) 2005 - 2010 Open Source Matters. All rights reserved.
# @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
# Joomla! is Free Software
##
#####################################################
#  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
RewriteBase /
RewriteRule  ^shop([0-9]+)/$  index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=$1
#
########## End - Joomla! core SEF Section


Вот так тоже не переадресует


Запрашиваю  http://arrow.zymichost.com/shop1

Добавлено @ 10:51
На хостинге нет доступа к httpd.conf, а phpinfo() не выводит информацию о директиве AllowOverride 
http://arrow.zymichost.com/phpinfo.php

Автор: egetmanenko 12.2.2011, 12:42
Цитата(vlad275 @  12.2.2011,  10:44 Найти цитируемый пост)
http://arrow.zymichost.com/shop1

На конце нет слеша…

Цитата(vlad275 @  10.2.2011,  16:47 Найти цитируемый пост)
RewriteRule ^shop([0-9]*)/$  /index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=$1

…а в правиле есть. Уже как минимум несостыковка. Правило нужно модифицировать в ^shop([0-9]+)/?$

Для проверки запросите выходной url — http://domain/index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=1 — должна открыться страница. Если нет, то с 99% вероятностью у вас есть проблемы в самом скрипте.

Цитата(vlad275 @  12.2.2011,  10:44 Найти цитируемый пост)
RewriteRule  ^shop([0-9]+)/$  index.php?option=com_virtuemart&page=shop.product_details&flypage=&category_id=2&product_id=8&Itemid=$1

Слеш перед /index.php?option… обязателен!

Автор: vlad275 13.2.2011, 00:57
http://arrow.zymichost.com/shop1/ 
со слэшем заработало!

Автор: Vinz 26.5.2011, 11:08
У меня тоже не получается сделать... помогите, пожалуйста!

Пытаюсь сделать из 
http://localhost/index.php?mod=pages&page=course 

следующую строку:
http://localhost/mod/pages/course

вот содержание файла httaccess:
Код

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\/index\.php\?mod=([^&]+)&page=([^\ ]+)\ HTTP/ 
RewriteRule ^index\.php$ http://localhost/mod/%1/%2? [R=301,L]


что я делаю не так?

Автор: goga075 27.5.2011, 00:14
Vinz
Лови и радуйся
Код

RewriteEngine on
RewriteRule ^mod/([^/]*)/([^/]*)$ /index.php?mod=$1&page=$2 [L]



Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)