Как сделать URL переписать? - PullRequest
       2

Как сделать URL переписать?

0 голосов
/ 11 февраля 2012

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

У меня есть такие URL-адреса:

www.website.com/subdir/10-this-is-a-post

У меня есть один php-файл в subdir, index.php, и код внутри этого файла должен извлекать содержимое из базы данных на основе числа в начале имени страницы - в данном случае 10.

Чтобы еще больше усложнить ситуацию, в базовом каталоге (то есть в родительском каталоге subdir) есть файл .htaccess, который имеет следующий код:

<IfModule mod_rewrite.c>  
Options -MultiViews  
RewriteEngine On  
RewriteBase /  
RewriteCond %{REQUEST_FILENAME} !-f  
RewriteCond %{REQUEST_FILENAME} !-d  
RewriteRule . /index.php [L]  
</IfModule>  

Любые советы о том, как яможет это сделать?

1 Ответ

0 голосов
/ 11 февраля 2012
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

Это поместит все после / ... to index.php /...

Пример: / subdir / 10-this-is-post-1004 *

Будет переписано в: /index.php/subdir/10-this-is-a-post

Используйте это для разбора сегментов:

$_SERVER['REQUEST_URI_PATH'] = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
$segments = explode('/', $_SERVER['REQUEST_URI_PATH']);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...