Я создал субдомен по имени http://admin.stenzsolutions.com и просто чтобы протестировать поддомен, я разместил тот же контент, что и основной домен http://www.stenzsolutions.com
Теперь я столкнулся с проблемой в поддомене ... Домашняя страница загружается нормально, но если щелкнуть любую ссылку, это дает мне внутреннюю ошибку сервера 500 ... То же самое содержимое на основном работает как мечта, и проблем нет ... вот точное описание проблемы, с которой я столкнулся ...
Internal Server Error
---------------------
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.
More information about this error may be available in the server error log.
Apache Server at admin.stenzsolutions.com Port 80
Я просто погуглил и обнаружил, что может быть проблема с моим файлом .htaccess ... Итак, вот мой файл .htaccess
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
И вот точная ошибка, которую я получил из журнала ошибок сервера
Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Похоже, в вашем коде есть абсолютные ссылки. Вместо того, чтобы возиться с переписыванием, которое не должно быть необходимым в таком случае, вам гораздо лучше сделать свои ссылки относительными. Как вы теперь обнаружили, использование абсолютов для внутренних ссылок - это действительно плохая практика, потому что это нарушает переносимость и просто создает кошмар обслуживания.
Редактировать:
Лучше всего проверять наличие проблем в итоговом HTML, а не в исходном коде. Используя Firefox или Chrome (и, возможно, любой браузер, кроме IE), это проще всего сделать с помощью следующего «букмарклета» (создать закладку для любой страницы и заменить URL-адрес этим кодом).
javascript:%20var%20win%20=%20window.open();%20win.document.write('<html><head><title>Generated%20HTML%20of%20%20'%20+%20location.href%20+%20'</title></head><pre>'%20+%20document.documentElement.innerHTML.replace(/&/g,%20'&').replace(/</g,%20'<')%20+%20'</pre></html>');%20win.document.close();%20void%200;
.+
также совпадать index.php
. Это причина бесконечного цикла. Некоторые способы исправить это:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_URI} !^/index\.php
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]