выпуск htaccess 404 - PullRequest
       1

выпуск htaccess 404

0 голосов
/ 18 марта 2012

Я работаю с CMS, и до сегодняшнего дня все было хорошо.

Но я обнаружил, что модификация мода работает, только если сайт находится в корневом каталоге. Если я положу всю CMS в папку, я получу 404.

Пожалуйста, помогите!

RewriteEngine on
Options +FollowSymLinks

RewriteRule ^([^/\.]+)/?$ /index.php?1=$1 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2&3=$3 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2&3=$3&4=$4 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2&3=$3&4=$4&5=$5 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2&3=$3&4=$4&5=$5&6=$6 [L]
RewriteRule ^([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/([^/\.]+)/?$ /index.php?1=$1&2=$2&3=$3&4=$4&5=$5&6=$6&7=$7 [L]

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Затем вам нужно добавить подпапку в ваше правило перезаписи, как это, для всех ваших правил.

RewriteRule ^([^/\.]+)/?$ /subfolder/index.php?1=$1 [L]

В вашей конфигурации apache будет искать файл index.php в корневом каталоге

0 голосов
/ 18 марта 2012

Ваш скрипт извлекает данные, которые находятся между слешами, например:

/test1/test2/ transfers into /index.php?1=test1&2=test2

но так как вы начали использовать папку, она работает так:

/folder/test1/test2/ transfers into /index.php?1=folder&2=test1&3=test2

чтобы имя папки нарушало вашу структуру, вам нужно исправить каждую строку с именем или выражением папки следующим образом:

RewriteRule ^[^/\.]+/([^/\.]+)/?$ /folder/index.php?1=$1 [L]

Таким образом, вам нужно будет исправить и регулярное выражение, и новый путь в каждой строке, просто замените папку именем вашей папки и добавьте [^ / \.] + / при запуске

Если это не сработает, вам может понадобиться исправить только регулярное выражение, не добавляя / folder во вторую часть строки

...