htaccess изменение вида ссылок

GunFigter
На сайте с 20.03.2008
Offline
98
829

Здравствуйте.

Столкнулся со следующей проблемой. Я в этом не силен. Скопировал по аналогии с 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>

На локальной машине все работает отлично - вместо localhost/new.php работает localhost/new/

Залил на сервер - стал показывать только главную страницу. Прошу помощи в решении этой проблемы.

[Articler Alpha v1.07 (/ru/forum/comment/3282415)] и [Articler Beta (/ru/forum/347101)] | [Подбор доменов (/ru/forum/249478)] | {Socializating (/ru/forum/263463)}
Glueon
На сайте с 26.07.2013
Offline
172
#1

Стал показывать только главную страницу при заходе куда? И какая задача стоит?

Есть много IP-сетей в аренду под прокси, парсинг, рассылки (optin), vpn и хостинг. Телега: @contactroot ⚒ ContactRoot команда опытных сисадминов (/ru/forum/861038), свой LIR: сдаем в аренду сети IPv4/v6 (/ru/forum/1012475).
GunFigter
На сайте с 20.03.2008
Offline
98
#2

На самом деле задачи две, извиняюсь, если не совсем корректно сформулировал проблему.

1) Цель - заменять ссылки вместо http://localhost/index.php на http://localhost/index/ (для большого количества страниц)

2) Заменить ссылки вместо http://localhost/content/article1.php на http://localhost/article1.php

(смысл сводится к тому, чтобы статьи размещались в отдельной папке)

Glueon:
Стал показывать только главную страницу при заходе куда?

Когда открывается страница http://localhost/about/, происходит загрузка содержимого index.php, а не about.php. При прямом обращении все работает нормально.

J
На сайте с 20.02.2014
Offline
120
jkm
#3

Исходя из описания

http://localhost/index/ => http://localhost/index.php

http://localhost/about/ => http://localhost/about.php

http://localhost/article1.php => http://localhost/content/article1.php

Получается такой .htaccess



RewriteEngine On


RewriteCond %{DOCUMENT_ROOT}/$1.php -f
RewriteRule ^(.+)/$ /$1.php [L]


RewriteCond %{DOCUMENT_ROOT}/content/$1 -f
RewriteRule ^([^/]+\.php)$ /content/$1 [L]
GunFigter
На сайте с 20.03.2008
Offline
98
#4

Благодарю. Теперь я кажется разобрался. Спасибо большое за помощь.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий