LINUX.ORG.RU
решено ФорумAdmin

Проблема с htaccess


0

1

Всем привет.

пару дней как перешёл на Ubuntu 12.04, проблем не возникало пока, но вот сутки ковыряюсь и не могу понять из за чего так происходит.

Есть htaccess ( /var/www/.htaccess )

AddDefaultCharset UTF-8
Options +Indexes +FollowSymLinks +MultiViews
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? $1.php?act=$2&subact=$3 [QSA,L]

На сервере работало нормально, но вот при переносе на локалку, перестало работать.

Дефолтовый хост

<VirtualHost *:80>
	ServerAdmin webmaster@localhost

	DocumentRoot /var/www
	<Directory />
		Options FollowSymLinks
		AllowOverride All
	</Directory>
	<Directory /var/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 All
		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 All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>

В директории /var/www/ лежит файл info.php

При обращении http://127.0.01/info/1/2/ Выдаётся файл info.php но без параметров $_GET['act'] & $_GET['subact']

При запросе http://127.0.01/info2/1/2/ 404 ошибка

Если в htaccess изменить

RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? $1.php?act=$2&subact=$3 [QSA,L]
на
RewriteRule ^([a-zA-Z_0-9]+)/?([a-zA-Z_0-9]+)?/?([a-zA-Z_0-9]+)?/? info.php?act=$2&subact=$3 [QSA,L]

И выполнить запрос http://127.0.01/info2/1/2/

Выдаётся скрипт info.php c параметрами $_GET['act'] == 1 & $_GET['subact'] == 2

И вот странность, если вообще очистить htacceess и вызвать http://127.0.01/info выдаётся скрипт info.php, если я приавльно понимаю, дело именно в этом.


Мда уж. Всё дело в директиве MultiViews, указал -MultiViews, и всё заработало

soleg
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.