2013-08-11 3 views
0

Im дело со странным поведением, используя этот кодПеренаправление WWW добавляет _/

RewriteCond %{HTTP_HOST} !^www\. 
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L] 

Howewer Я не вещь, проблема лежит в этом коде. Перенаправление работает хорошо, но, например, если я использую этот adrress mysite.com/something это перенаправлять www.mysite.com/_/something

Joomla HTAccess:

RewriteEngine On 
RewriteBase/

RewriteRule sitemap\.xml http://www.mojerc.cz/index.php?option=com_xmap&sitemap=1&view=xml [R] 

## přesměrování na chybovou stránku 404 
ErrorDocument 404 /obchod/poradce/404.html 

########## Začátek - Joomla! jaderná SEF část. 
# 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !^/index.php 
RewriteCond %{REQUEST_URI} (/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$ [NC] 
RewriteRule (.*) index.php 
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] 
# 
########## Konec - Joomla! jaderná SEF část. 

########## Begin - Rewrite rules to block out some common exploits 
## If you experience problems on your site block out the operations listed below 
## This attempts to block the most common type of exploit `attempts` to Joomla! 
# 
# Block out any script trying to set a mosConfig value through the URL 
RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] 
# Block out any script trying to base64_encode crap to send via URL 
RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] 
# Block out any script that includes a <script> tag in URL 
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] 
# Block out any script trying to set a PHP GLOBALS variable via URL 
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] 
# Block out any script trying to modify a _REQUEST variable via URL 
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) 
# Send all blocked request to homepage with 403 Forbidden error! 
RewriteRule ^(.*)$ index.php [F,L] 
# 
########## End - Rewrite rules to block out some common exploits 

Кто-нибудь из вас когда-нибудь столкнуться с этой странной вещью?

Спасибо за помощь.

+1

Есть ли у вас какие-либо другие правила для вашего htaccess? – Prix

+0

nope, но этот htacces находится в корне, возможно, он каким-то образом переписывается htacces в каталоге www? Существует стандартный файл Joomla htaccess. – JTC

+0

Да, возможно, однако, если www является вашей корневой папкой, тогда ваш другой htaccess не будет работать. Корневая папка FTP и веб-корневая папка - это не одно и то же. Отправьте свой joomla htaccess. – Prix

ответ

1

Вам необходимо найти любые файлы .htaccess в каталогах, содержащих этот каталог. According to the manual:

директивы конфигурации, найденные в файле .htaccess применяются к каталога, в котором находится файл .htaccess, а также ко всем подкаталогов их. Тем не менее, важно также помнить, что могли быть файлы .htaccess в каталогах выше. Директивы применяются в том порядке, в котором они найдены. Следовательно, файл .htaccess в определенном каталоге может переопределять найденные директивы в файлах .htaccess, найденных выше в дереве каталогов. И те, , в свою очередь, могут иметь переопределенные директивы, найденные еще выше, или в самом файле конфигурации основного сервера .

Также обратите внимание, что любые директивы в файле конфигурации сервера также будут обработаны. Если у вас нет доступа к конфигурационному файлу сервера (вы находитесь на общедоступном хостинге или у вас есть компания, которая управляет этим материалом для вас), вам нужно связаться с хостом, чтобы определить, существуют ли RewriteRules в этом файл.

Кроме того, помните, что PHP и другие динамические языки также могут выполнять команды header(), похожие на Apache, и также перенаправить страницу (но они должны быть в одном из файлов PHP).

Вы можете использовать плагин в браузере, таком как Firefox Заголовки HTTP-заголовков, чтобы просмотреть заголовки, когда вы загружаете страницу, чтобы увидеть, где происходят переадресации. (Убедитесь, что вы не запускаете много вкладок одновременно.)

Обновление Что-то еще пришло в голову мне. Если у вас было правило до того, как было перенаправление 301, которое включало _/, тогда оно скорее всего будет кэшироваться в вашем браузере, если вы уже удалили это правило. В этом коде, который вы опубликовали, я не вижу никаких правил, которые могли бы привести к поведению, которое вы испытываете. Поскольку вы используете Joomla, это может быть в конфигурации Joomla (возможно, в каталоге по умолчанию для установки).

+0

Спасибо, все остальные .htaccess чисты, я постараюсь искать заголовок в php-файлах. – JTC

+0

Я уверен, что вы назвали все возможности в этом вопросе и спасибо за заголовок плагина. – JTC

Смежные вопросы