Переименование URL в настройках php - basi c - PullRequest
0 голосов
/ 22 апреля 2020

Я пытаюсь переименовать URL для моего сайта в первый раз. У меня нет сложных перенаправлений или запросов на получение в моих URL.

Текущий URL-адрес

www.example.com/index.php
www.example.com/createproject.php

Я хочу изменить это значение на

www.example.com/index
www.example.com/project

Моя структура папок для указанных выше файлов php выглядит следующим образом

/var/www/html/index.php
/var/www/html/createproject.php

Значение по умолчанию для conf установлено в папку /var/www/html. Я пытаюсь переписать URL через файл .htaccess, который находится в

/var/www/html/.htaccess

, и я использовал следующий код:

RewriteEngine On
RewriteRule index index.php [NC,L]
RewriteRule project createproject.php [NC,L]

На моем веб-сайте, У меня есть боковая панель, которая содержит URL для этих страниц. Например:

echo '<div class="nav">';
echo '<div class="sb-sidenav-menu-heading">Core</div>';
echo '<a class="nav-link" href="index.php"';
echo '><div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>';
echo 'Dashboard</a';
echo '>'

Выше приведен фрагмент рендеринга на боковой панели в файле php. Я не уверен, что мне нужно изменить эту строку

echo '<a class="nav-link" href="index.php"';

на

echo '<a class="nav-link" href="index"';

Это вместе с описанным выше .htaccess и их комбинациями - ни одна из них не помогла.

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Вы можете использовать следующие правила .htaccess:

RewriteEngine on  
RewriteRule ^([^.*]+)/?$ index.php?file=$1&lang=en [QSA,L]
<filesMatch "\.(html|htm|js|css|php|svg)$">
 FileETag None
 <ifModule mod_headers.c>
 Header unset ETag
 Header set Cache-Control "max-age=0, no-cache, no-store, must-revalidate"
 Header set Pragma "no-cache"
 Header set Expires "Wed, 11 Jan 1984 05:00:00 GMT"
 </ifModule>
</filesMatch>

Затем включите запрошенный файл в индекс. php file:

$file= $_GET["file"];
include($file);

Надеюсь, это поможет

1 голос
/ 22 апреля 2020

убедитесь, что файл .htaccess включен в apache, если нет, перейдите по этой ссылке. Как включить .htaccess в apache , после этого

, вам необходимо указать следующий код в вашем .htaccess файл

RewriteEngine On
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule !.*\.php$ %{REQUEST_FILENAME}.php [L]

и боковая панель HTML должна быть такой

echo '<div class="nav">';
echo '<div class="sb-sidenav-menu-heading">Core</div>';
echo '<a class="nav-link" href="index"';
echo '><div class="sb-nav-link-icon"><i class="fas fa-tachometer-alt"></i></div>';
echo 'Dashboard</a';
echo '>';

, которую необходимо удалить. php из этой строки

echo '<a class="nav-link" href="index"';

у вас будет работать

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...