Это правила перезаписи, которые я использую. На этом этапе я пытаюсь заставить плохие URL-адреса загружать index.php. Тег html <base href="/directory-name/" />
находится в верхней части index.php, поэтому мои css, изображения и другие активы загружаются должным образом.Модификация Перепишите нагрузку index.php на неверный путь
Options -Indexes +FollowSymLinks
RewriteEngine On
RewriteCond ${REQUEST_URI} ^.+$
RewriteCond %{REQUEST_FILENAME} \.(gif|jpe?g|png|js|css|swf|php|ico|txt|pdf|xml)$ [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule^- [L]
RewriteRule ^(.*)/(.*)/(.*) /index.php?x=$1&y=$2&z=$3 [L]
RewriteRule ^(.*)/(.*) /index.php?x=$1&y=$2 [L]
RewriteRule ^(.*) /index.php?x=$1 [L]
Url Примеры:
www.domain.com/directory-name/
www.domain.com/directory-name/index.php
www.domain.com/directory-name/index.php/arg1/arg2/arg3
www.domain.com/directory-name/anything-here
www.domain.com/directory-name/anything-here/arg1/arg2/arg3
Первые 3 примера URL работать нормально и нагрузки index.php
. Но 4-й и 5-й URL-адреса терпят неудачу и возвращают меня к корню html /, где существует индекс xampp. Я предполагаю, что неудача последнего переписывания URL-адресов связана с тем, что index.php находится в подкаталоге с корнем?
Как бы исправить это? Как заставить URL-адреса загружать www.domain.com/directory-name/index.php
, даже если что-то еще находится в пути?
Это работает очень хорошо, спасибо! – Maelish
Добро пожаловать, рад, что это сработало для вас. – anubhava
Для бонусного раунда, как добавить пользовательскую ошибку 404, если файл был extras-404.php? – Maelish