Я использую mod_write, чтобы вытаскивать URL из моей базы данных. Я работаю на базовом уровне, но то, что я застрял, – это создание сложных URL-адресов с использованием различных слизней, выведенных из базы данных в виде каталогов в URL-адресе.
В настоящее время URL-адрес перед использованием mod_rewrite выглядит так:
www.domainname.co.uk/company?=1&staff=3
Это приведет вас к профилю персонала на соответствующей странице компании.
Но я хочу, чтобы URL-адрес выглядел так:
www.domainname.co.uk/COMPANY-NAME/STAFF-NAME
В настоящее время мой htaccess выглядит так:
RewriteEngine On RewriteRule ^c/(.*)$ ./company.php?company=$1
Что приводит к URL-адресу
www.domainname.co.uk/c/COMPANY-NAME
Как добавить каталог второго уровня?
Вы можете использовать для этого дополнительное правило:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([\w-]+)/([\w-]+)/?$ company.php?company=$1&staff=$2 [L,QSA] RewriteRule ^c/([\w-]+)/?$ company.php?company=$1 [L,QSA,NC]
RewriteEngine On RewriteBase / RewriteRule ^([a-zA-Z0-9_-\.]+)/([a-zA-Z0-9_-\.]+)(/?)$ /company.php?company=$1&staff=$2 [NC,L] That should allow urls of the type: www.domainname.co.uk/COMPANY-NAME/STAFF-NAME