За последние 24 часа нас посетил 16121 программист и 1546 роботов. Сейчас ищут 925 программистов ...

Страницы через PHP

Тема в разделе "PHP для новичков", создана пользователем RoffDaniel, 10 май 2018.

  1. RoffDaniel

    RoffDaniel Новичок

    С нами с:
    10 май 2018
    Сообщения:
    18
    Симпатии:
    0
    Всем еще раз привет. Работаю с сайтом в одном файле через PHP код:
    PHP:
    1. if(!isset($_GET['page']) || $_GET['page'] == 'index')
    И заменяю это через .htaccess
    Код (Text):
    1. RewriteRule ^([^/]*)/$ /?page=$1 [L]
    То есть получается так - «домен.com/page/», если вместо index будет page...

    Но я никак не могу понять как сделать что бы была двойная страница, или что типо того(домен.com/page/page/). Подскажите пожалуйста) Заранее, спасибо!
     
  2. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.819
    Симпатии:
    1.333
    Адрес:
    Лень
    единая точка
    Код (Text):
    1. AddDefaultCharset UTF-8
    2.  
    3. DirectoryIndex index.php
    4.  
    5. RewriteEngine On
    6.  
    7. # Redirect Trailing Slashes If Not A Folder...
    8. RewriteCond %{REQUEST_FILENAME} !-d
    9. RewriteRule ^(.*)/$ /$1 [L,R=301]
    10.  
    11. # Handle Front Controller...
    12. RewriteCond %{REQUEST_FILENAME} !-d
    13. RewriteCond %{REQUEST_FILENAME} !-f
    14. RewriteRule ^ index.php [L]
    +

    https://php.net/manual/ru/function.parse-url.php
     
    RoffDaniel нравится это.
  3. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    @RoffDaniel, рерайт пути в параметр лишний. Только дубли порождает.

    Вот почитайте: Как сделать единую точку входа с ЧПУ? (там и про двухкомпонентные пути есть). А если нужен пример конкретной упомянутой в статье реализации, то гляньте рядом описание.
    --- Добавлено ---
    P.S. Лишние точки входа лучше не плодить. Я про DirectoryIndex index.php, RewriteCond %{REQUEST_FILENAME} !-d и т.п.
    --- Добавлено ---
    P.P.S. Автодобавление трэйлинг слешей у каталогов в апаче отключается так:
    Код (Text):
    1. <IfModule mod_dir.c>
    2. DirectorySlash Off
    3. </IfModule>
    Можно и целиком расширение отключить, если есть такая возможность.
    --- Добавлено ---
    Это если трэйлинг слеши не используются у обычных страниц, как в конфиге MouseZver'я.
     
    RoffDaniel нравится это.