Правило перезаписи .htaccess, последняя строка запроса добавляется к URL - PullRequest
1 голос
/ 20 октября 2011

Привет, я делаю один cms сайтов, и мне нужно переписать мой URL

текущий мой URL http://www.example.com/index.php?link=pages&cmsid=2&cmsLink=Carpet
это относится cmsLink
Я хочу, чтобы мой URL какhttp://www.example.com/Carpet
Я использую следующий код

Options +FollowSymLinks
Options +Indexes
RewriteEngine on
RewriteBase /
RewriteRule ^index.php?link=(.*)&cmsid=(.*)&cmsLink=(.*) $3

Ответы [ 2 ]

2 голосов
/ 22 октября 2011

Для достижения этого URL это невозможно напрямую с помощью .htaccess
Я также использую регулярное выражение и другие значения в htacess

Я помещаю удалить cmsid

текущий мой URL является http://www.example.com/index.php?link=pages&cmsLink=Carpet

RewriteCond %{REQUEST_URI} !/admin
RewriteCond %{REQUEST_URI} !^/(.*).php
RewriteBase /
RewriteRule ^([^/]+)/?$ index.php?link=pages&cmsLink=$1&%{QUERY_STRING} [L]

это мне вернуть http://www.example.com/Carpet

1 голос
/ 20 октября 2011

Попробуйте изменить свое последнее правило на это:

RewriteRule ^(.+)$ /index.php?link=pages&cmsid=2&cmsLink=$1

Поскольку вы хотите, чтобы URL был похож на http://www.example.com/Carpet,, поэтому cmsid и link в вашем URL должны быть жестко закодированы в 2 и pages.

...