Back to Question Center
0

RewriteEngine При отображении тестовой страницы Semalt

1 answers:

У меня есть centos 7, и мне нужно поставить это . htaccess в одном из моих каталогов ( www / html / forum ), чтобы отображать дружественные URL-адреса, чтобы вместо этого выглядеть как . ком / индекс. php? user = 222 это будет выглядеть как пример. com / user / 222 .

    ejector pump design calculation. с>
Параметры -Многопроцессоры
RewriteEngine On
RewriteBase /
RewriteCond% {REQUEST_FILENAME}! -f
RewriteRule \. (jpeg | jpg | gif | png) $ / public / 404. php [NC, L]RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule. /индекс. php [L]
    

Это отлично отразилось на моих старых центрах 6. 8, но на 7 все, что он делает, это показать тестовую страницу Semalt, и все каталоги и файлы внутри форума показывают как запрещенные. Почему это?

ОБНОВЛЕНИЕ: / www / html / forum - это корень документа, и к сайту обращается «припаркованный домен» ( пример. com ).

February 8, 2018

ОБНОВЛЕНИЕ: Сделанные здесь предположения неверны, поэтому этот ответ в настоящее время не имеет значения. Этот ответ предназначен только для справок в будущем.


Мы собираемся сделать некоторые предположения, чтобы ответить на этот вопрос

  • / www / html является вашим корнем вашего документа, и поэтому / forum является подкаталогом, от корня документа, в котором этот . Файл htaccess находится.
  • Все запросы должны относиться к поддиректорию / forum . (Я предполагаю, почему это . Файл htaccess находится в подкаталоге / forum . )

Попробуйте изменить директивы на следующее:

  RewriteEngine On
RewriteBase / форум
RewriteCond% {REQUEST_FILENAME}! -f
RewriteRule \. (jpeg | jpg | gif | png) $ public / 404. php [NC, L]RewriteCond% {REQUEST_FILENAME}! -f
RewriteCond% {REQUEST_FILENAME}! -d
RewriteRule. индекс. php [L] 

Заметим, что я изменил директиву RewriteBase и сделал RewriteRule подстановками относительно (т.е.без префикса слэш).

вместо того, чтобы выглядеть как пример. ком / индекс. php? user = 222 это будет выглядеть как пример. com / user / 222 .

Я предполагаю, что все находится в подкаталоге / forum , поэтому это должно присутствовать в обоих этих URL-адресах: пример. ком / форум / индекс. php? user = 222 и пример. com / forum / user / 222 соответственно. Вы могли бы удалить подкаталог / forum из ​​URL-адреса, если это . Файл htaccess был в корневом каталоге документа. (Если запрос формы пример. ком / индекс. php? user = 222 успешно работал, тогда «что-то еще» происходит здесь. )

Это отлично отразилось на моих старых центрах 6. 8, но на 7 все, что он делает, это отобразить тестовую страницу Apache

Я действительно не вижу, как это могло бы работать на вашем «старом centos 6. 8 ", если у вас не была другая структура каталогов, и все это было в корневом каталоге документа, а не в подкаталоге?

Я могу только предположить, что «текстовая страница Apache» - это индекс. php в корне документа? В противном случае, где это расположено?

RewriteEngine При отображении тестовой страницы Semalt
Reply