2012-02-14 1 views
2

Я использую каталоги в URL как переменные PHP. Подобно Wordpress (если не всем платформам блогов), я хочу, чтобы, скажем, передать domain.com/directory в php-файл.Использовать каталоги в url как переменные php

Причина этого в том, что, когда я создаю свои собственные вещи в блоге, URL-адреса будут оптимизированы для SEO.

Forexample, вместо

domain.com/?blog=1&foo=1&bar=1&foobar=5 

Я хочу

domain.com/1/1/1/5 or something 

где можно затем использовать функцию взрываются, чтобы получить переменные.

ответ

1

Для этой функциональности в php вам нужно mod_rewrite или эквивалент на вашем веб-сервере по выбору и вместо этого переписать URL-адрес в параметр get.

Google «чистые URL-адреса drupal», например, в дикой природе.

3
RewriteEngine On 
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)$ /?blog=$1&foo=$2&bar=$3&foobar=$4 [L] 

Там много генераторов на Google, искать его и StackOverflow о правилах перезаписи, вы найдете много информации.

1
RewriteEngine On 
RewriteRule ^(.*)$ /index.php?url=$1 [L] 

то в вашем index.php вы можете сделать взрывается, регулярные или whatewer как выражения вы хотите с $_GET['url']

или вы можете пропустить файлы, которые, как существуют настройки уже CSS или Javascript и файлы изображения

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^(.*)$ /index.php?url=$1 [NC,L] 
1
RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)/(.*)/(.*)/(.*)$ ?blog=$1&foo=$2&bar=$3&foobar=$4 [PT,L] 

Я думаю, что это должно работать специально для вашего случая. (. *) Группирует один или несколько символов любого типа, разделенных символом /. В этом случае вы получите их в качестве GETs с ключами например Foo

Иначе как строка для взрыва:

RewriteEngine On 

RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 

RewriteRule ^(.*)$ blog.php?string=$1 [PT,L] 

Предполагая, что есть blog.php файл в том же каталоге, чтобы обработать строку Hope это помогает

Смежные вопросы