Перейти к содержанию

Рекомендуемые сообщения

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

если на OpenCart после слеша поставить знак вопроса и писать любой текст - не выдается ошибка о не найденной странице.

вот пример - www.mysite.ru/?do= или www.mysite.ru/?adrakadabra или www.mysite.ru/?pishyvsechtohochy

после знака вопроса можно вводить все что угодно, все равно OpenCart отдает код 200 и отображает главную страницу.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть

Нужно только проверять на валидность существующие get параметры.

И, наверное, это сделать лучше  в index.php,

 

можно составить список, и проверять наличие параметра в списке

 

Только нужно определиться

 

 

например

?page=3&do=nothing

 

что делать в таком случае?

 

Я бы - 404, или редиректился

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От Yarilo
      Может кто мопочь разобраться с htaccess 
      Иногда ПС в индекс выдают страницы от старого сайта (другая структура) до смены CMS и т.д.
      И через день-два появляется ссылка 404 формата /index.php?_route_=product/quick-204h-esd-analogovaja-indukcionnaja-pajalnaja-stancija/page33/
      Красным выделил стандартный обработчик opancarta, а синим древнюю ссылку. Поидее она должна быть в
      виде moysait.ru/quick-204h-esd-analogovaja-indukcionnaja-pajalnaja-stancija/page33/ и выводить страница не найдена
      Но почему-то между доменом сайта и ссылкой появляется /index.php?_route_=product
       
       
    • От alex380
      Здравствуйте, после настройки файла htaccess не обновляются модификаторы, когда привожу его в прежний вид, всё обновляется. Подскажите, где я накосячил
      # 1.To use URL Alias you need to be running apache with mod_rewrite enabled. # 2. In your opencart directory rename htaccess.txt to .htaccess. # For any support issues please visit: http://www.opencart.com Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|.twig|\.ini|\.log|(?<!robots)\.txt))"> Require all denied ## For apache 2.2 and older, replace "Require all denied" with these two lines : # Order deny,allow # Deny from all </FilesMatch> # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/storage/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/ RewriteRule ^(.*)index\.(php|html|htm)$ $1 [R=301,L] RewriteCond %{HTTP_HOST} !^vodadarlife.ru$ [NC] RewriteRule ^(.*)$ http://vodadarlife.ru/$1 [R=301,L] ### Additional Settings that may need to be enabled for some servers ### Uncomment the commands by removing the # sign in front of it. ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: # php_flag register_globals off # 2. If your cart has magic quotes enabled, This may work to disable it: # php_flag magic_quotes_gpc Off # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try # php_value upload_max_filesize 999M # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value post_max_size 999M # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_execution_time 200 # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_input_time 200 # 7. disable open_basedir limitations # php_admin_value open_basedir none # Кеш и сжатие <IfModule mod_deflate.c> AddOutputFilterByType DEFLATE text/html AddOutputFilterByType DEFLATE application/javascript AddOutputFilterByType DEFLATE text/javascript AddOutputFilterByType DEFLATE text/css <IfModule mod_setenvif.c> BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html </IfModule> </IfModule> # Кеш <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType text/html "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 1 month" </IfModule> RewriteEngine On RewriteBase / RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/razreshenie-na-burenie-skvazhiny$ RewriteRule ^(.*)$ http://vodadarlife.ru/razreshenie-na-burenie-skvazhiny? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/artezianskaja-skvazhina$ RewriteRule ^(.*)$ http://vodadarlife.ru/artezianskaja-skvazhina? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/abissinskaja-skvazhina$ RewriteRule ^(.*)$ http://vodadarlife.ru/abissinskaja-skvazhina? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/skvazhina-na-pesok$ RewriteRule ^(.*)$ http://vodadarlife.ru/skvazhina-na-pesok? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/kak-prochistit-skvazhinu-svoimi-rukami$ RewriteRule ^(.*)$ http://vodadarlife.ru/kak-prochistit-skvazhinu-svoimi-rukami? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/skvazhina-na-vodu-svoimi-rukami$ RewriteRule ^(.*)$ http://vodadarlife.ru/skvazhina-na-vodu-svoimi-rukami? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=kontakty$ RewriteRule ^(.*)$ http://vodadarlife.ru/contact? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=video RewriteRule ^(.*)$ http://vodadarlife.ru? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=foto-nacha-rabota$ RewriteRule ^(.*)$ http://vodadarlife.ru? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/storony-skvazhin$ RewriteRule ^(.*)$ http://vodadarlife.ru? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu/vopros-otvet$ RewriteRule ^(.*)$ http://vodadarlife.ru? [R=301,L] RewriteCond %{QUERY_STRING} ^_route_=burenie-na-vodu$ RewriteRule ^(.*)$ http://vodadarlife.ru? [R=301,L] ## Блокировка по USER AGENT: RewriteCond %{HTTP_USER_AGENT} FlipboardProxy [OR] RewriteCond %{HTTP_USER_AGENT} LinkpadBot [OR] RewriteCond %{HTTP_USER_AGENT} BLEXBot [OR] RewriteCond %{HTTP_USER_AGENT} Detectify [OR] RewriteCond %{HTTP_USER_AGENT} trovitBot [OR] RewriteCond %{HTTP_USER_AGENT} aiHitBot [OR] RewriteCond %{HTTP_USER_AGENT} Riddler [OR] RewriteCond %{HTTP_USER_AGENT} SemrushBot [OR] RewriteCond %{HTTP_USER_AGENT} MJ12bot [OR] RewriteCond %{HTTP_USER_AGENT} MegaIndex.ru [OR] RewriteCond %{HTTP_USER_AGENT} bingbot [OR] RewriteCond %{HTTP_USER_AGENT} AhrefsBot [OR] RewriteCond %{HTTP_USER_AGENT} Java [OR] RewriteCond %{HTTP_USER_AGENT} NjuiceBot [OR] RewriteCond %{HTTP_USER_AGENT} Gigabot [OR] RewriteCond %{HTTP_USER_AGENT} Baiduspider [OR] RewriteCond %{HTTP_USER_AGENT} JS-Kit [OR] RewriteCond %{HTTP_USER_AGENT} Voyager [OR] RewriteCond %{HTTP_USER_AGENT} PostRank [OR] RewriteCond %{HTTP_USER_AGENT} PycURL [OR] RewriteCond %{HTTP_USER_AGENT} Aport [OR] RewriteCond %{HTTP_USER_AGENT} ia_archiver [OR] RewriteCond %{HTTP_USER_AGENT} DotBot [OR] RewriteCond %{HTTP_USER_AGENT} SurveyBot [OR] RewriteCond %{HTTP_USER_AGENT} larbin [OR] RewriteCond %{HTTP_USER_AGENT} Butterfly [OR] RewriteCond %{HTTP_USER_AGENT} libwww [OR] RewriteCond %{HTTP_USER_AGENT} Wget [OR] RewriteCond %{HTTP_USER_AGENT} SWeb [OR] RewriteCond %{HTTP_USER_AGENT} LinkExchanger [OR] RewriteCond %{HTTP_USER_AGENT} Soup [OR] RewriteCond %{HTTP_USER_AGENT} WordPress [OR] RewriteCond %{HTTP_USER_AGENT} PHP/ [OR] RewriteCond %{HTTP_USER_AGENT} spbot [OR] RewriteCond %{HTTP_USER_AGENT} MLBot [OR] RewriteCond %{HTTP_USER_AGENT} InternetSeer [OR] RewriteCond %{HTTP_USER_AGENT} FairShare [OR] RewriteCond %{HTTP_USER_AGENT} Yeti [OR] RewriteCond %{HTTP_USER_AGENT} Birubot [OR] RewriteCond %{HTTP_USER_AGENT} YottosBot [OR] RewriteCond %{HTTP_USER_AGENT} gold\ crawler [OR] RewriteCond %{HTTP_USER_AGENT} Linguee [OR] RewriteCond %{HTTP_USER_AGENT} Ezooms [OR] RewriteCond %{HTTP_USER_AGENT} lwp-trivial [OR] RewriteCond %{HTTP_USER_AGENT} Purebot [OR] RewriteCond %{HTTP_USER_AGENT} User-Agent [OR] RewriteCond %{HTTP_USER_AGENT} kmSearchBot [OR] RewriteCond %{HTTP_USER_AGENT} SiteBot [OR] RewriteCond %{HTTP_USER_AGENT} CamontSpider [OR] RewriteCond %{HTTP_USER_AGENT} ptd-crawler [OR] RewriteCond %{HTTP_USER_AGENT} HTTrack [OR] RewriteCond %{HTTP_USER_AGENT} suggybot [OR] RewriteCond %{HTTP_USER_AGENT} ttCrawler [OR] RewriteCond %{HTTP_USER_AGENT} Nutch [OR] RewriteCond %{HTTP_USER_AGENT} Zeus RewriteRule ^(.*)$ – [F,L]
    • От sonicking
      приветствую!
      уже несколько дней ломаю голову с редиректами - ничего не выходит...
      нужно настроить:
       
      1. 301-ый серверный редирект со страниц содержащих www в начале URL адреса, на страницы без такового параметра
      2. 301-ый серверный редирект со страниц без “/” в конце URL-адреса, на страницы со “/” в конце URL-адресе
      3. 301-ый серверный редирект со всех страниц, содержащих index.php в конце URL-адреса (в том числе и /index.php) на соответствующие страницы без данного параметра в конце URL-адреса
      4. 301-ый редирект со страниц содержащих множественный “///” в конце/середине URL адреса на соответствующие страницы с “/” на конце/середине URL адреса

      пробовал по разному - то один не работает то другой...
      пробовал такие варианты:
       
      1 пункт - вроде работает, только какой предпочтительней?
      RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
      RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
       
      или
      RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] 2 пункт - вроде работает, только какой предпочтительней?
      RewriteCond %{REQUEST_URI} !\?
      RewriteCond %{REQUEST_URI} !\&
      RewriteCond %{REQUEST_URI} !\=
      RewriteCond %{REQUEST_URI} !\.
      RewriteCond %{REQUEST_URI} !\/$
      RewriteRule ^(.*[^\/])$ /$1/ [R=301,L]
       
      или
       
      RewriteCond %{REQUEST_FILENAME} !-f
      RewriteCond %{REQUEST_URI} !\..{1,10}$
      RewriteCond %{REQUEST_URI} !(.*)/$
      RewriteRule ^(.*)$ http://site.ru/$1/ [L,R=301]
       
      3 пункт - всё что перепробовал или перекидывает на 404 или не даёт результата
       
      4 пункт - сайт перекидывает на 404
      RewriteCond %{REQUEST_URI} ^(.*)//(.*)$ RewriteRule . %1/%2 [R=301,L]  
      установлен модуль SEO DATAFIX от @markimax - может он покрывает какие то из этих редиректов и поэтому не работает?
      или порядок расположения или место в .htaccess куда вставляю (вставляю после RewriteBase /) редиректы не правильное
       
      подскажите, куда копать
      заранее спасибо
    • От chemark23
      Добрый день форумчане! 
      У меня переезжает порядка 30-40 страниц на новые адреса.
      Старые адреса:
      Примерно 10 из них будут отдавать ответ 400. Другие будут существовать с нормальным ответом 200, но информация на них будет устаревшая, которую я не хочу показывать поисковику (можно конечно и их на 400 повесить).
       
      Как лучше делать, 301 редирект -  htacess, PHP, Javascript? Либо по возможности canonical влепить. Либо ещё какие варианты. Поделитесь идеями
    • От Rasheed
      Здравствуйте уважаемые форумчане, у меня возникла проблема, которую я не знаю как решить, какие бы я изменения не пытался внести в файл htaccess они не работают, сайт находится на хостинге, имя файла .htaccess он лежит в главном каталоге сайта, вот его содержимое
      # 1.To use URL Alias you need to be running apache with mod_rewrite enabled. # 2. In your opencart directory rename htaccess.txt to .htaccess. # For any support issues please visit: http://www.opencart.com Options +FollowSymlinks # Prevent Directoy listing Options -Indexes # Prevent Direct Access to files <FilesMatch "(?i)((\.tpl|\.ini|\.log|(?<!robots)\.txt))"> Require all denied ## For apache 2.2 and older, replace "Require all denied" with these two lines : # Order deny,allow # Deny from all </FilesMatch> # SEO URL Settings RewriteEngine On # If your opencart installation does not run on the main web folder make sure you folder it does run in ie. / becomes /shop/ RewriteBase / RewriteRule ^sitemap.xml$ index.php?route=extension/feed/google_sitemap [L] RewriteRule ^googlebase.xml$ index.php?route=extension/feed/google_base [L] RewriteRule ^system/download/(.*) index.php?route=error/not_found [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA] ### Additional Settings that may need to be enabled for some servers ### Uncomment the commands by removing the # sign in front of it. ### If you get an "Internal Server Error 500" after enabling any of the following settings, restore the # as this means your host doesn't allow that. # 1. If your cart only allows you to add one item at a time, it is possible register_globals is on. This may work to disable it: # php_flag register_globals off # 2. If your cart has magic quotes enabled, This may work to disable it: # php_flag magic_quotes_gpc Off # 3. Set max upload file size. Most hosts will limit this and not allow it to be overridden but you can try # php_value upload_max_filesize 999M # 4. set max post size. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value post_max_size 999M # 5. set max time script can take. uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_execution_time 200 # 6. set max time for input to be recieved. Uncomment this line if you have a lot of product options or are getting errors where forms are not saving all fields # php_value max_input_time 200 # 7. disable open_basedir limitations # php_admin_value open_basedir none  
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×