Настройка пользовательских URL с помощью PHP - PullRequest
1 голос
/ 22 января 2011

Итак, мне нужно установить пользовательские URL, чтобы

http://example.com/dynamic/

идет к:

http://example.com/dynamic.php

Я знаю, что это довольно простая операция, но после некоторого поиска, я не могу найти ответ. Какой самый простой метод для обработки чего-то подобного?

Ответы [ 3 ]

6 голосов
/ 22 января 2011

Вы должны сделать это с помощью переписывания URL. это зависит от веб-сервера, который вы используете. Например, вы можете использовать .htaccess, если ваш веб-сервер Apache. Перезапись URL Apache.

4 голосов
/ 22 января 2011

Регулярное выражение для этого будет выглядеть примерно так:

RewriteEngine on
RewriteRule ([^/]+)/?$ $1.php [L]

Выполнение регулярного выражения слева вернет "dynamic /" или "dynamic", если косая черта не включена.Затем он заменит то, что было захвачено в первом заключенном в скобки блоке («dynamic /»), на dynamic.php.

Вы можете попробовать переписать ваш URL здесь:

http://martinmelin.se/rewrite-rule-tester/

И ваше общее правило здесь:

http://regexpal.com/

1 голос
/ 22 января 2011

Существует несколько способов достижения этого: -

  1. Перезапись URL (добавьте файл .htaccess на сервере в / dynamic / directory)
RewriteEngine on
RewriteRule ^$ dynamic.php
  1. Создание фиктивного файла index.htm / .html / .php в корневой папке, т.е./ Динамический /если HTML, используйте следующий javascript: -
<script type="text/javascript">
     window.location = "http://example.com/dynamic.php"
</script>

<script type="text/javascript">
     location.href='http://example.com/dynamic.php';
</script>

<script type="text/javascript">
     location.replace('http://example.com/dynamic.php');
</script>
However, if using PHP instead (recommended), include the following:-

header("Location: <a href="http://example.com/dynamic.php" rel="nofollow">http://example.com/dynamic.php</a>");

Remember to use ob_start(), ob_end_flush() to fix the output buffer, if you get the error that the headers are already sent and you can't modify the header information.

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

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