после долгих поисков я наконец создал файл htaccess с нужными мне правилами. На локальном хостинге все работает нормально, а на хостинге GoDaddy работают только половинчатые правила... кто-нибудь сталкивался с такой же проблемой или знает, как ее решить? Спасибо
# THIS IS NOT WORKING / Returns a page not found error
RewriteEngine On
RewriteRule ^/?customize/?$ all_poi.php
RewriteRule ^/?santorini/?$ santorini.php
RewriteRule ^/?aboutus/?$ aboutus.php
RewriteRule ^/??tours/?$ all_tours.php
RewriteRule ^/?tours/([0-9]+) tours.php?tour_id=$1& [L]
# Redirects to https / WORKING
RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^(www\.)?mywebsite\.com
RewriteRule ^(.*)$ https://www.mywebsite.com/$1 [R=301,L]
#remove trailing slash / WORKING
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301] # <- for test, for prod use [L,R=301]
# Removes index.php from ExpressionEngine URLs / WORKING
RewriteEngine On
RewriteCond %{THE_REQUEST} ^GET.*index\.php [NC]
RewriteCond %{REQUEST_URI} !/system/.* [NC]
RewriteRule (.*?)index\.php/*(.*) /$1$2 [R=301,NE,L]
RewriteEngine On RewriteRule ^ustomize?$ all_poi.php RewriteRule ^santorini?$ santorini.php RewriteRule ^aboutus?$ aboutus.php RewriteRule ^tours?$ all_tours.php RewriteRule ^tours/([0-9]+) tours.php? tour_id=$1& [L]
Спасибо за ваш супер быстрый ответ! В режиме комментария не все так ясно... было бы полезнее отредактировать мой исходный пост?
Было бы лучше.
Что вообще означает ^santorini?$? Завершающий «i» необязателен? Или вы имели в виду ^/?santorini/?$?
Я добавил файл htaccess. santorini.php должен быть достигнут, когда пользователь вводит mywebsite.com/santorini
Хорошо, тогда вам определенно следует исправить эти шаблоны, текущие шаблоны работают в определенных ситуациях, но они не выражают того, что вы, вероятно, хотите.
Далее вы расскажете, что на самом деле означает «не работает». В деталях.
когда пользователи вводят www.mywebsite.com/santorini, он должен перейти на www.mywebsite.com/santorini.php, но вместо этого возвращает ошибку «страница не найдена».
Я только что исправил эти шаблоны, но все равно возвращает ошибку «страница не найдена».
Я бы сказал, что это должно быть RewriteRule ^/?santorini/?$ /santorini.php [END], но здесь проблема не в этом... Правила должен работают, если только нет правил разное, которые мешают... Вам нужно будет отлаживать механизм перезаписи, используя журнал перезаписи, но это, вероятно, это невозможно с дешевым хостингом, который вы используете.
Что произойдет, если вы войдете в /santorini.php напрямую, работает ли тот?
да, работает нормально. но когда я набираю /santorini --> страница не найдена
Я сейчас разговариваю по телефону со службой поддержки Godaddy... должен ли я попросить их сделать отладку для меня?
Я застрял здесь ... не знаю, что делать и как мне его искать ..






Привет, Томас, Добро пожаловать в SO. Пожалуйста, правила, которые, по вашему мнению, не работают.