Apache mod_rewrite удалить папку в расширении url и php - PullRequest
0 голосов
/ 07 сентября 2018

Эй,

Я пытаюсь сделать мой URL немного красивее с помощью apache mod_rewrite.

  • html (root)
    • 1012 * CSS *
    • JS
    • расположение
    • сайтов (папка)
      • profil.php
      • work.php
    • index.php

На данный момент мой URL выглядит так:

https://example.com/sites/profil.php

https://example.com/sites/work.php

И я хочу, чтобы это выглядело так:

https://example.com/profil

https://example.com/work

Как я могу перезаписать "папку сайтов" так, там нет и можно ли удалить расширение .php ?

Вот так выглядит мой конфиг apache:

<VirtualHost example.com>
DocumentRoot /var/www/example.com/html
ServerName example.com
ServerAlias www.example.com
<Directory "/var/www/example.com/html">
allow from all
Options None
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Нужно ли редактировать мои ссылки после этого изменения в моих файлах?

Ответы [ 2 ]

0 голосов
/ 07 сентября 2018
<VirtualHost example.com>
DocumentRoot /var/www/example.com/html
ServerName example.com
ServerAlias www.example.com
<Directory "/var/www/example.com/html">
allow from all
Options None
Require all granted
</Directory>
RewriteEngine on
RewriteCond %{SERVER_NAME} =example.com [OR]
RewriteCond %{SERVER_NAME} =www.example.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
RewriteRule ^sites/profil\.php$ /profil?&%{QUERY_STRING}
RewriteRule ^sites/work\.php$ /work?&%{QUERY_STRING}
</VirtualHost>
0 голосов
/ 07 сентября 2018

Вот ваши правила переписывания модов

# Rewrite --- https://example.com/sites/profil.php => https://example.com/profil
RewriteRule ^profil$ sites/profil\.php [NC,L]

# Rewrite --- https://example.com/sites/work.php => https://example.com/work
RewriteRule ^work$ sites/work\.php [NC,L]

введите его в .htaccess в нужном месте и попробуйте.

...