2010-10-31 8 views
0

у меня есть этот файл, который находится в корневой папке sumbit.phpПроблема mod_rewrite с доступом к файлам?

и когда я acesss страницу, как это для exmaple

http://www.example.com/viewtopic.php?topic=14 

новый Ссылка

http://www.example.com/topic/14 

на поджигатель его сообщение о его доступе http://www.example.co.uk/topic/submit.php, когда оно предназначено для доступа http://www.example.co.uk/submit.php

мой .htaccess код

RewriteEngine On 

RewriteRule ^user/([^/]*)$ /viewprofile.php?user=$1 [L] 
RewriteRule ^topic/([^/]*)$ /viewtopic.php?topic=$1 [L] 

Я, похоже, не понимаю, в чем проблема, стр. sumibit.php из формы submit action

ответ

1

Это происходит потому, что ссылка на submit.php в вашем HTML использует относительные пути. Относительные пути зависят от того, в каком каталоге вы находитесь. Поэтому, когда вы добавляете косые черты в свой URL-адрес, он становится все испорченным.

Вы должны исправить свой HTML, чтобы использовать абсолютные пути (/submit.php). Если это невозможно, напишите новое правило перезаписи, которое отобразит ^.*/submit.php$ на правильный путь.

+0

так что мне нужно сделать это правило перезаписи для всех файлов – getaway

+0

@getaway Просто добавьте 'RewriteRule^*/submit.php $ /submit.php [L]' в файл .htaccess.. Или вы можете выследить все относительные пути и исправить каждый из них. – kijin

0

Это старая нить я знаю, но ... Я думаю, что пользователь (ОП) был после того, как был фактический адрес маскировка ../Клонирование ... чтобы скрыть оригинальный путь? ...

Итак:

Options +FollowSymLinks 
RewriteEngine on 
RewriteBase/
#my url is in the form of domain.com/photograph/GALLERY/IMAGE NUMBER 
RewriteRule ^photograph/(.*)/(.*)$ /albums/index.php?op=large&gallery=$1&curImage=$2&rd=ht [QSA,L] 
Смежные вопросы