Мой htaccess RewriteRule работает на localhost / mysite, но не на mysite.com на хосте 1 & 1

Решено:

К сожалению, решение не является удовлетворительным. Сегодня утром, когда пытаюсь @Wige 'Я обнаружил, к моему удивлению, что ожидаемые значения были отправлены на страницу какGET запрос. Видимо, 1 &1 (который, как я знаю, делал изменения в своей среде в последние пару недель), сделал что-то за кулисами, что волшебным образом решило мою проблему, а теперь и весь мой ранее неработающий кодявляется работает как и ожидалось.

Новая информация:апаш версия производственного сервера1.3.34 против2.2.21 на моемlocalhost.I»

Я не могу понять, почему мой RewriteRule не работает должным образом в производстве.

RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]

В моей локальной тестовой среде (localhost/mysite/page/pretty-url/{...}) работает нормально, но наmysite.com/page/pretty-url/{...} это нене работает должным образом. Загружаетpage.php как и ожидалось, но, видимо,?query=$1 кусок игнорируется ($_GET пустой)

Я предполагаю, что проблема как-то связана с конфигурацией сервера. Я'м на 1 &1 общий хостинг без доступа httpd.conf.

Что этоRewriteRule делает (илидолжен делать):

Я хочу URL, как *

example.com/page/pretty-url/{{info_for_dynamic_content}}

переписать в *

/page.php?query={{info_for_dynamic_content}}

Так что я могу получить доступinfo_for_dynamic_content

вphp как$_GET['query']

Полный файл .htaccess для справки:

AddHandler x-mapp-php6 .php

DirectoryIndex index.php
ErrorDocument 404 /index.php 

Options +FollowSymLinks

# per @Jacques Chester's suggestion
Options -MultiViews

RewriteEngine on
RewriteBase /

# the rule in question
RewriteRule ^page/pretty-url/(.*)$ page.php?query=$1 [L]

RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}\.php !-f 
RewriteRule (.*) /index.php [L]

Ответы на вопрос(2)

Ваш ответ на вопрос