mod_rewrite не передает, ПОЛУЧАЮТ параметры

Можно создать символьную ссылку с утилитой командной строки mklink.

MKLINK [[/D] | [/H] | [/J]] Link Target

        /D      Creates a directory symbolic link.  Default is a file
                symbolic link.
        /H      Creates a hard link instead of a symbolic link.
        /J      Creates a Directory Junction.
        Link    specifies the new symbolic link name.
        Target  specifies the path (relative or absolute) that the new link
                refers to.

Символьные ссылки через mklink доступны начиная с Windows Vista и Windows Server 2008. На Windows XP и Windows Server 2003 можно использовать

fsutil hardlink create  

Согласно msdn.microsoft, Символьные ссылки НЕ поддерживаются на FAT16/32 и exFAT. Кажется, что Windows только поддерживает их от или до Разделов NTFS. Будущие операционные системы Windows, вероятно, продолжат поддержку mklink.

Можно считать дополнительную информацию об этой новой возможности на Microsoft TechNet, блоге Junfeng Zhang или howtogeek.com.

9
задан 30 April 2009 в 11:25
3 ответа

Вы попытались использовать флаг QSA (Query String Append)?

RewriteRule ^static/([^/]+)/([^/]+) /static.php?sISOCode=$1&sPage=$2 [QSA]

РЕДАКТИРОВАНИЕ И ФАКТИЧЕСКИЙ ОТВЕТ НИЖЕ:

Эта проблема вызывается mod_negotiation Apache, в особенности опция MultiViews, которую Вы используете:

Эффект MultiViews следующие: если сервер получает запрос на/some/dir/foo, если/some/dir включили MultiViews, и/some/dir/foo не существует, то сервер читает каталог, ища файлы, названные нечто.*, и эффективно фальсифицирует карту типа, которая называет все те файлы, присваивая им те же типы среды и довольную кодировку, которую она имела бы, если клиент попросил одного из них по имени. Это затем выбирает лучшее соответствие к требованиям клиента.

Включение Мультипредставлений говорит Apache предполагать, какой файл использовать, когда URI на самом деле не указывает на существующее местоположение.

Решение:

Отключите мультипредставления любым использованием -MultiViews в Вашем .htaccess или отъезде его все вместе.

15
ответ дан 2 December 2019 в 22:26
  • 1
    Я хотел предположить что также, но что я don' t добираются: Это не должно быть необходимо - по крайней мере, я don' t думают поэтому после чтения руководства. Любопытный, как этот вопрос сложится –  pilif 30 April 2009 в 11:34
  • 2
    Флаг QSA ничего не изменяет в этой ситуации, к сожалению. ПОЛУЧИТЬ параметры добавляются правилом, не от исходного URL. –  Vegard Larsen 30 April 2009 в 11:35

Решение состояло в том, чтобы изменить конфигурацию Apache, как это:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName project.example.com

        DocumentRoot /home/veg/workspace/project
        <Directory /home/veg/workspace/project>
                Options FollowSymLinks
                # AllowOverride All
                # Order allow,deny
                # allow from all
        </Directory>

        ErrorLog /var/log/apache2/error.log

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

        CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Я не знаю, почему это работает, однако

2
ответ дан 2 December 2019 в 22:26

Отключите -MultiViews в вашем файле htaccess, как показано ниже

RewriteEngine on
Options -Indexes -MultiViews

RewriteRule ^static/([^/]+)/([^/]+)     /static.php?sISOCode=$1&sPage=$2

, это решит проблему

0
ответ дан 22 February 2020 в 07:57

Теги

Похожие вопросы