JPATH указывает "localhost / var / www" - PullRequest
1 голос
/ 24 ноября 2011

... и каждый раз, когда я пытаюсь сделать что-то столь же простое, как SITE_NAME . '/includes/js/...', я получаю http://localhost/SITE_NAME/SITE_NAME/includes/js/..

Есть ли способ настроить это через Joomla? Я перепробовал все, но, похоже, по какой-то причине система путей на моей машине сломана. Я не уверен, что это Joomla или просто моя конфигурация. Если это не Joomla, кто-нибудь знает, как это настроить?

Обновление

Не только это, но и относительный путь, указанный через мою машину, отказывается указывать путь к корневому каталогу документа моего сайта. Например, я не могу сделать "../../path/to/file", не указав путь, ведущий к SITE_NAME/path/to/file. Вместо этого он просто ссылается на http://localhost/path/to/file. И конечно я получаю 404.

Обновление

Кроме того, когда я пытаюсь выполнить запрос http:// к серверу, я получаю тот же результат, за исключением того, что результат теперь равен http://localhost/somesite.com;

Обновление

Я выложу полный пример того, что я получаю:

(из консольного отладчика в Chrome):

GET http://localhost/patention/%3C%22http://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js;%22 404 (Not Found)'

Я также выложу .htaccess, который у меня есть (о котором я ничего не знаю).

##  Can be commented out if causes errors, see notes above.
Options +FollowSymLinks

#
#  mod_rewrite in use

RewriteEngine On

########## 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!
#
## Deny access to extension xml files (uncomment out to activate)
#<Files ~ "\.xml$">
#Order allow,deny
#Deny from all
#Satisfy all
#</Files>
## End of deny access to extension xml files
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

#  Uncomment following line if your webserver's URL
#  is not directly related to physical file paths.
#  Update Your Joomla! Directory (just / for root)

# RewriteBase /


########## Begin - Joomla! core SEF Section
#
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]
#
########## End - Joomla! core SEF Section

1 Ответ

1 голос
/ 24 ноября 2011

Вы пытаетесь включить файл (из php) или хотите добавить какую-нибудь ссылку на вывод?Если вы хотите включить файл, вы должны сделать что-то вроде этого:

INCLUDE JPATH_ROOT . DS . 'my' . DS . 'folder' . DS . 'myfile.php';

Но если вы хотите, например, добавить скрипт в ваш файл, вы должны сделать это в одном из следующихспособы (оба они должны работать):

<a href="<?php echo JUri::root() . 'includes/js/myfile.js'"> ....

или

<a href="/includes/js/myfile.js">...

Второй вариант должен работать нормально, пока / include находится в вашем корне joomla.Если он все еще не работает, не могли бы вы опубликовать пример кода, в котором вы пытаетесь использовать это «include»?

Надеюсь, это помогло!

...