Итак, я хочу включить mod_rewrite для упрощения длины моих ссылок, тоесть что бы было не http://мойсайт.ru/index.php/-pc/13--infamous-243--infamous-2 а было http://мойсайт/-pc/143--infamous-2 . Говорят поисковики лучше будут воспринимать. Но вот когда я включаю в настройках админки в джумле mod_rewrite то главная страница работает, а вот если перейти на любую другую то появляется: http://saveimg.ru/show-image.php?id=658d619a073b2fb5bed05f6078f340f5 . Слышал, что проблема может быть в .htaccess . Вот что у меня при открытии блокнотом .htaccess там написано: AddHandler application/x-httpd-php .htm .html Прошу вас помоч в решении моей проблемы)
откройте .httacess пишите там вот эти строки: ########## Начинаем запись правил чтобы заблокировать основные эксплойты # # Блокируем любой скрипт пытающийся получить значение mosConfig через URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR] # Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] # Блокируем любой скрипт который содержит тег < script> в URL RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] # Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] # Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR] # Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2) RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5.*= [NC,OR] # Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard) RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR] RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D) # Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden! RewriteRule ^(.*)$ index.php [F,L] # ########## Заканчиваем запись правил чтобы заблокировать основные эксплойты не забудте включить mod_rewrite в настойках хоста..
Прописую указонное выше, и получается вот так: AddHandler application/x-httpd-php .htm .html ########## Начинаем запись правил чтобы заблокировать основные эксплойты # # Блокируем любой скрипт пытающийся получить значение mosConfig через URL RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR] # Блокируем любой скрипт пытающийся отправить любое дерьмо чере base64_encode по URL RewriteCond %{QUERY_STRING} base64_encode.*(.*) [OR] # Блокируем любой скрипт который содержит тег < script> в URL RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR] # Блокируем любой скрипт, который пытается установить глобальную переменную PHP через URL RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR] # Блокируем любой скрипт пытающийся изменить _REQUEST переменную через URL RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2}) [OR] # Блокируем любой скрипт, который пытается установить CONFIG_EXT (баг в com_extcal2) RewriteCond %{QUERY_STRING} CONFIG_EXT([|%20|%5.*= [NC,OR] # Блокируем любой скрипт, который пытается установить sbp or sb_authorname чере URL (баг simpleboard) RewriteCond %{QUERY_STRING} sbp(=|%20|%3D) [OR] RewriteCond %{QUERY_STRING} sb_authorname(=|%20|%3D) # Отправляем все заблокированный запросы на главную с ошибкой 403 Forbidden! RewriteRule ^(.*)$ index.php [F,L] # ########## Заканчиваем запись правил чтобы заблокировать основные эксплойты И вот что получается при выключеном и включенном модуле mod_rewrite: http://saveimg.ru/show-image.php?id=5dd5e32380afa79f8f7f91cdb1eb7d25 Может что то с .httacess ? вот ссылка на мой .httacess с который мой сайт работает: http://fayloobmennik.net/418767
хостеру пишите может нет поддежка .httacess mod_rewrite в настойках хостинга включили?? не в джумле а именно в настройках хоста, ну потом и в джумле можно
если и с хостером все ОК то попробуй вот это: ## Can be commented out if causes errors, see notes above. Options +FollowSymLinks # # mod_rewrite in use RewriteEngine On ########## Begin - Rewrite rules to block out some common exploits ## If you experience problems on your site block out the operations listed below ## This attempts to block the most common type of exploit `attempts` to Joomla! # ## Deny access to extension xml files (uncomment out to activate) #<Files ~ "\.xml$"> #Order allow,deny #Deny from all #Satisfy all #</Files> ## End of deny access to extension xml files RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|\%3D) [OR] # Block out any script trying to base64_encode crap to send via URL RewriteCond %{QUERY_STRING} base64_encode.*\(.*\) [OR] # Block out any script that includes a <script> tag in URL RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR] # Block out any script trying to set a PHP GLOBALS variable via URL RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR] # Block out any script trying to modify a _REQUEST variable via URL RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}) # Send all blocked request to homepage with 403 Forbidden error! RewriteRule ^(.*)$ index.php [F,L] # ########## End - Rewrite rules to block out some common exploits # Uncomment following line if your webserver's URL # is not directly related to physical file paths. # Update Your Joomla! Directory (just / for root) # RewriteBase /
Как понять в настройках хостинга?) Где то в нете наш что нада добавить в htatec вот такую байду: RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^.]+)$ /index.php Но вот вопрос. всё ли будет нормально?, или лучше твоим способом?)