Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115

Настройка Htaccess ЧПУ

19.08.2016, 01:33. Показов 1338. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброй ночи, вот такая проблема.

Если папка где хранятся модули

Путь:
"/modules/module1/index.php",
"/modules/module2/index.php" ....


Так теперь как сделать в главном htaccess, чтобы по этом модулям можно было переходить так:
"http://example.com/module1",
"http://example.com/module2".

Пояснение:
Когда в адресной строке указываешь: "http://example.com/module1" - надо чтобы он оставался именно так а не переадресовывался на http://example.com/modules/module1/

Заранее спасибо.


XML
1
2
3
4
5
6
7
8
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /modules/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /modules/$1 [L]
</IfModule>
Этот код не помогает

Добавлено через 42 минуты
Я тут просто читал статьи, и нашел такую структуру.

можно примерно сделать так http://example.com/index.php?page=module1, а в htaccess уже настроит.

Вот как думаете правильно ли это, если да до как примерно можно сделать такую логику.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.08.2016, 01:33
Ответы с готовыми решениями:

Настройка .htaccess (ЧПУ)
В файле .htaccess прописана следующая строчка: RewriteRule ^(+)/$ index.php?act=$1 Если зайти по адресу site/news/, то...

.htaccess - ЧПУ
Пытаюсь работать с mod_rewrite, нужно, чтобы с &quot;site.com/watch.php?channel=channelname&quot; перенаправляло на &quot;site.com/channelname&quot; ...

ЧПУ htaccess
Здравствуйте. Необходимо сделать ЧПУ. Сейчас ссылка http://cms/?do=article&amp;id=2 нужно сделать http://cms/article/2 В htaccess...

12
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
19.08.2016, 01:46
Цитата Сообщение от Toha_ Посмотреть сообщение
Вот как думаете правильно ли это, если да до как примерно можно сделать такую логику.
Это неправильно, должна быть одна точка входа. И в ней уже средствами php парсить url и принимать решение как это обрабатывать
0
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115
19.08.2016, 02:08  [ТС]
Можете да если не сложно, привести небольшой пример, буду очень благодарен.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2016, 03:38
Можно делать рерайт в папку modules и добавлять index.php, но единая точка будет получше. Вот в этом году писал: Как сделать единую точку входа с ЧПУ? – кстати, часто использую в точности такую модель, какую вы описали, только папку modules (в наших движках она обычно называется mods) в реале выношу за пределы корня сайта. Ну или RewriteRule ^mods/ - [NC,F] плюс «дени фром олл», хотя если сервер настроен на отдачу Forbidden вместо «потери зрения», то это не слишком эстетично смотрится.
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
19.08.2016, 03:43
Toha_, не сложно, лучше эти настройки писать не в каждой директории в файлах htaccess, а в настройках виртуального хоста sites-enabled, так Вы распространите правила на все директории и не надо в каждую засовывать htaccess. Кроме того в целях безопасности лучше создать песочницу и ограничить права доступа к реальным директориям ниже пример.

Добавлено через 2 минуты
# для www.example.ru
<VirtualHost 77.77.77.77>
ServerAdmin webmaster@example.ru
ServerName www.example.ru
ServerAlias example.ru
DocumentRoot /home/user/www/public
# Права доступа к директории /home/user/example/www/
<Directory /home/user/example/www/>
# игнорируем файлы .htaccess
AllowOverride None
# запрещаем вывод содержимого директорий при отсутствии index
Options -Indexes
# запрещаем доступ всем
Order allow,deny
Deny from all
</Directory>
# Права доступа к директории /home/user/example/www/public/
<Directory /home/user/example/www/public/>
# разрешаем доступ всем
Order deny,allow
Allow from all
# кодировка HTTP заголовков
AddDefaultCharset UTF-8
# разрешаем перенаправление
RewriteEngine on
# если нет физического файла или директория перенаправляем
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
# перенаправляем на точку входа, окончательная инструкция
RewriteRule ^(.*)$ index.php [L]
</Directory>
# Права доступа к директории /home/user/example/www/public/cgi-bin/
ScriptAlias /cgi-bin/ /home/user/example/www/public/cgi-bin/
<Directory /home/user/example/www/public/cgi-bin/>
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order deny,allow
Allow from all
</Directory>
</VirtualHost>
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2016, 03:51
RefSol, чтобы проглотить каталог modules, достаточно одного .htaccess в корне.
1
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
19.08.2016, 04:38
miketomlin, возможно, мне не очень нравится .htaccess, поэтому настраиваю в виртуальных хостах.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2016, 08:16
Будете «таскать» этот конфиг вместе с сайтом в случае чего?
0
 Аватар для Toha_
0 / 0 / 0
Регистрация: 06.07.2016
Сообщений: 115
19.08.2016, 11:53  [ТС]
а другого способа нет, (htaccess, and code php).

Добавлено через 1 минуту
sites-enabled - я его конфигурации нужен выделенный сервер или VPS, а я пока простом хостинге.

Добавлено через 25 секунд
windows(xampp)
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2016, 11:55
Toha_, он говорил про конфиг виртуального хоста (или целиком про httpd-vhosts.conf).
0
504 / 247 / 75
Регистрация: 31.10.2010
Сообщений: 747
19.08.2016, 13:10
Цитата Сообщение от miketomlin Посмотреть сообщение
Будете «таскать» этот конфиг вместе с сайтом в случае чего?
этот конфиг можно оформить в один файл sites-enabled так же как и .htaccess поэтому что таскать их одинаково, но у конфига в sites-enabled есть громадное преимущество в к нему невозможно добраться через http сервер, а вот .htaccess часто находится в доступном из вне каталоге. Известная проблема безопасности, если apach не прочтёт .htaccess, например, в случае ошибки в .htaccess или при неверных настройках .htaccess в результате ошибок администратора или других, то он будет виден всем подряд.
0
930 / 846 / 190
Регистрация: 28.11.2013
Сообщений: 3,621
19.08.2016, 13:21
Цитата Сообщение от RefSol Посмотреть сообщение
этот конфиг можно оформить в один файл sites-enabled
Я это понял (см. мой пост выше). Все остальное не слишком актуально (вы же в основном конфиге закрываете файлы .ht*). Кому нужен мой .htacсess, вот он (взламывайте на здоровье ):
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
<IfModule mod_dir.c>
DirectorySlash Off
</IfModule>
 
RewriteEngine On
 
RewriteCond %{HTTP_HOST} ^www\.(.+) [NC]
RewriteRule (.*)/*$ http://%1/$1 [R=301,L]
 
RewriteRule (.*)/+$ /$1 [R=301,L]
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^.* /index.php
0
0 / 0 / 1
Регистрация: 08.08.2015
Сообщений: 13
19.08.2016, 16:31
Не стал открывать новую тему, так как эта схожа с моим вопросом. Есть строка типа: site.domain/category/subcategory/1908291617275663.html

Такое правило в .htaccess может помочь?

Code
1
RewriteRule ^([a-z]+)/([a-z]+)/([0-9-]+\.html)/?$ news.php?cat_name=$1&sub_cat=$2&post=$3 [NC,L]
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.08.2016, 16:31
Помогаю со студенческими работами здесь

Создание ЧПУ htaccess
Доброе время суток. Подскажите пожалуйста в чем может быть проблема. Имеются такие строки в .htaccess RewriteEngine on RewriteBase...

Htaccess, ЧПУ и пагинация не дружат вместе
Здравствуйте, товарищи. Пожалуйста, помогите разобраться и решить проблему. Сейчас работаю над созданием ЧПУ. Помимо этого на...

После добавления ЧПУ в .htaccess пропали видео, почему?
RewriteEngine On RewriteBase / RewriteRule ^category/(+)$ category.php?category=$1 Добавил вот это в файл .htaccess и пропали видео,...

Настройка ЧПУ
Доброго времени суток! Столкнулся с такой проблемой: Пишу легкую CMS, всё работает, страницы создает, редактирует, но не нравятся ссылки...

Настройка ЧПУ ссылки
Я пытаюсь создать ЧПУ ссылку, .htaccess мне удалось сделать, а на php не получается сформировать ссылку, как сделать на php? Вот ссылка:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru