Autor | Zpráva | ||
---|---|---|---|
bartn Profil |
#1 · Zasláno: 23. 5. 2014, 11:27:12
Čau, mám někde chybu v htaccess a nevidím kde? Stránky běží, ale nejsou indexovaný roboty, robot zůstane ve smyčce a odejde. Může někdo pomoc?
RewriteEngine On Options +FollowSymlinks RewriteCond %{HTTP_HOST} ^domena.com[nc] RewriteRule ^(.*)$ http://www.domena.com/$1 [L,R=302,NE] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !index.php RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.+)\.php$ http://%{HTTP_HOST}/$1 [L,R=302,NE] RewriteRule ^cs/(.*)$ $1?lang=cs [QSA] RewriteRule ^en/(.*)$ $1?lang=en [QSA] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-l RewriteRule ^(.+)$ index.php?url=$1 [QSA,L] |
||
Kajman Profil |
#2 · Zasláno: 23. 5. 2014, 12:23:19
bartn:
„robot zůstane ve smyčce a odejde“ To jste poznal z logů nebo jak? Zběžně totiž pravidla nevypadají na problém s cyklením. Můžete si ale přidat mezeru před hranatou závorku na třetím řádku. |
||
bartn Profil |
#3 · Zasláno: 23. 5. 2014, 13:20:29
Že zůstane ve smyčce jsem zjistil u technické podpory na seznam.cz, ale více mi nechtěli pomoc.
|
||
Kajman Profil |
#4 · Zasláno: 23. 5. 2014, 15:15:38
Pokud je tam opravdu smyčka přesměrování, tak nejspíše budou i nějaká další přesměrování (v konfiguraci apache, v php kódu).
Smyčku by měl odhalit i prohlížeč nebo robot na stahování (wget, httrack). Případně se mrkněte do access logu apache na přístupy seznambota a stavem odpovědí 30x. |
||
Davex Profil |
#5 · Zasláno: 23. 5. 2014, 20:54:22
bartn:
Máš tam chybu v PHP. Po nastavení session přesměrováváš na tu samou stránku a pokud klient nepodporuje cookies, tak se URL přesměrovává stále samo na sebe. |
||
bartn Profil |
#6 · Zasláno: 25. 5. 2014, 16:16:58
buď koukám jinam, nebo to prostě nevidí
.... /** * Class Core * * Main class of this application. */ class Application { private static $instance = null; /** * Constructor Core class */ private function __construct() { } public function run(){ try { $registry = array(); # Get session from database $session = Session::get_instance(); # Session start $session->start_session(); # Get session from database $session->get_session(session_id()); $registry['database'] = Database::get_instance(); # Check redirect $current_url = Router::get_current_url(); Redirect::check_redirect($current_url, $registry, true); # Router Class and url paramters $router = Router::get_instance(); $registry['router'] = $router; # Set language $lang = $this->load_language($registry); $registry['lang'] = $lang; $registry['date_format'] = 'd.m.Y h:m:s'; $registry['date_format_2'] = 'd.m.Y'; $database_cache = Database_Cache::get_instance(); $database_cache->set_registry($registry); $router->set_language($lang); # Set application settings $this->load_application_settings($registry); # Set application definitions $this->load_application_definitions($registry); # Set cache and get Code $cache_manager = Cache::get_instance($registry); $web_page_code = $cache_manager->start_cache(); if($web_page_code[0]){ if($router->is_admin()){ # Create url map of all pages $router->set_urls(false); # Create user instance $registry['user'] = User::get_instance($lang, $registry); $registry['templates_dir'] = G_ADMIN_TEMPLATES_DIR; $registry['modules_dir'] = G_ADMIN_MODULES_DIR; } else { # Create url map of all pages $router->set_urls(false); # Create user instance $registry['user'] = User::get_instance($lang, $registry); $registry['templates_dir'] = G_TEMPLATES_DIR; $registry['modules_dir'] = G_MODULES_DIR; } require 'controllers/cache_page_controller.php'; $controller = new Page_Controller($registry); $data = $controller->index($web_page_code[1]); } else { # Set default controller # Using for every pages on web if($router->is_admin()){ # Create url map of all admin pages $router->set_urls(true); # Create user instance $registry['user'] = User::get_instance($lang, $registry); # Set paths $registry['templates_dir'] = G_ADMIN_TEMPLATES_DIR; $registry['modules_dir'] = G_ADMIN_MODULES_DIR; # Load admin page controller require 'controllers/admin_page_controller.php'; $controller = new Page_Controller($registry); $data = $controller->index(); } else { # Create url map of all pages $router->set_urls(false); # Create user instance $registry['user'] = User::get_instance($lang, $registry); # Set paths $registry['templates_dir'] = G_TEMPLATES_DIR; $registry['modules_dir'] = G_MODULES_DIR; # Load admin page controller require 'controllers/page_controller.php'; $controller = new Page_Controller($registry); $data = $controller->index(); } } $cache_manager->end_cache(); $session->update_session(session_id()); ## Fatal error } catch (Database_Exception $e){ # Router Class and url paramters $router = Router::get_instance(); $registry['router'] = $router; if(isSet($controller)) unset($controller); # Create user instance $registry['user'] = User::get_instance($lang, $registry); $registry['templates_dir'] = G_TEMPLATES_DIR; $registry['modules_dir'] = G_MODULES_DIR; # Load controller require 'controllers/error_controller.php'; $controller = new Error_Controller($registry); $data = $controller->index($e); ## Error 404 - wrong url } catch (Exception $e) { if(isSet($controller)) unset($controller); # Create user instance $registry['user'] = User::get_instance($lang, $registry); $registry['templates_dir'] = G_TEMPLATES_DIR; $registry['modules_dir'] = G_MODULES_DIR; # Load controller require 'controllers/error_404_controller.php'; $controller = new Error_Controller($registry); $data = $controller->index($e); } unset($session); # Delete created controller unset($controller); } public function load_application_definitions($registry){ if(!defined('APP_DEBUG') || APP_DEBUG == 0) Model::load('system_translation_model', $registry)->set_definitions($registry['lang'], '%', $registry['router']->is_admin()); } function load_application_settings(&$registry){ $registry['web_settings'] = Model::load('system_setting_model', $registry)->get_settings(); } /** * Load main language file by paramter in URL * * @param array $router */ function load_language($registry){ # Load language core class require_once 'core/core_language.php'; # Create language core class object $language = Language::get_instance($registry['router']->get_url_params(), $registry); # Get currently selected language $lang = $language->get_current_language(); if(defined('APP_DEBUG') && APP_DEBUG == 1) { # Include language file if(file_exists(G_DIR_LANG . $lang . '.php')){ require_once G_DIR_LANG . $lang . '.php'; } else if(file_exists(G_DIR_LANG . G_DEFAULT_LNG . '.php')){ require_once G_DIR_LANG . G_DEFAULT_LNG . '.php'; } } return $lang; } /** * Create new instance of this class or return old instance * * @return class instance */ public static function get_instance() { if(self::$instance == false) { self::$instance = new Application(); } return self::$instance; } public function loadSettings(){ } } ?> |
||
Davex Profil |
#7 · Zasláno: 25. 5. 2014, 17:14:39
Tipnul bych to na ten 35. řádek.
|
||
Časová prodleva: 10 let
|
0