2012-04-04 2 views
0

У меня есть папка под document_root на сервере Apache. Когда я печатаю http://www.example.com/help, он не перенаправляется на http://www.example.com/help/, но идет к http://www.exmaple.com//help/. Обратите внимание, что есть две косые черты после имени домена.странный трейлинг-косой чертой

Я не могу найти какое-либо правило перезаписи, настроенное для такого перенаправления. Может ли кто-нибудь подумать о любой другой возможной причине?

Кроме того, в Apache, перенаправление с http://www.example.com/help на http://www.example.com/help/ делается путем? (Примечание «Помощь» - это настоящая папка, и нет файла с именем «help»).

Спасибо!

ответ

0

Предполагается, что в вашей конфигурации приложения есть элемент для базового URL-адреса, а в вашем случае он заканчивается /, в результате чего внутренняя система маршрутизации приложения добавляет дополнительную косую черту.

Ответ на Аскер комментарий:

Посмотрите в файле .htaccess. Если это выглядит примерно так (это один используется WordPress установок по умолчанию, кстати):

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
</IfModule> 

Тогда он будет пытаться загрузить из текущего каталога /help. Но если он не содержит линий !-f и !-d, он будет загружать каждый запрос через точку входа приложения, независимо от того, существует ли запрошенный элемент в файловой системе или нет.

+0

Спасибо. Но это не помогает. Обратите внимание, что «help» - настоящая папка, поэтому мы не должны ожидать перенаправления. –

+0

Комментарии не могут делать символы новой строки? раздражающий ... Обновленный исходный ответ. – Ariel

+0

Я думаю, что «! -f» означает не файл, а «! -d» означает не каталог. «help» - это каталог, поэтому не применяется правило перезаписи. В любом случае мы не используем WordPress. –