2014-11-17 2 views
0

Так что я не герой, когда дело доходит до htaccess. Так простите меня, если у меня есть полный неправильный код ниже.Htaccess, если url начинается с

Вот пример ссылка (за каждую ссылку номера, на который я refrer ниже, к которому Htaccess части они должны быть ссылки на):

website.com/home/ #1 
website.com/home/page2/ #1 
website.com/projects/ #1 or #2 (doesnt matter since the first GET will be page in both cases) 
website.com/projects/staticpage/ #1 
website.com/projects/filter1/ #2 
website.com/projects/filter1/filter2/ #2 


текущий код, я использую это (часть 1):

RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/projects/$ 
RewriteRule ^([-A-Za-z0-9-_]+)/?$ index.php?page=$1 [L,QSA] 
RewriteRule ^/?([-A-Za-z0-9-_]+)/([-A-Za-z0-9-_]+)/?$ index.php?page=$1&sub=$2 [L,QSA] 
RewriteRule ^/?([-A-Za-z0-9-_]+)/([-A-Za-z0-9-_]+)/([-A-Za-z0-9-_]+)/?$ index.php?page=$1&sub=$2&sub-sub=$3 [L,QSA] 

другой бит Htaccess (часть 2):

RewriteEngine On 
RewriteBase/
RewriteRule ^([-A-Za-z0-9-_+]+)/?$ index.php?secondpart=$1 [L,QSA] 
RewriteRule ^/?([-A-Za-z0-9-_+]+)/([-A-Za-z0-9-_+]+)/?$ index.php?secondpart=$1&filter[]=$2 [L,QSA] 
RewriteRule ^/?([-A-Za-z0-9-_+]+)/([-A-Za-z0-9-_+]+)/([-A-Za-z0-9-_+]+)/?$ index.php?secondpart=$1&filter[]=$2&filter[]=$3 [L,QSA] 

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

Я получаю, чтобы пропустить первую часть, когда URL равно: website.com/projects/ но,
, когда я изменить URL на: website.com/projects/filter1/ я могу 'получить его, чтобы захватить вторую часть.

Если вы могли бы помочь мне исправить это, спасибо вам большое.

+0

Как анубхава сказал, что это не было бы возможно, что я пытался сделать. Я решил проблему, установив ее, выполнив проверку php. –

ответ

0

Вы можете сделать что-то вроде этого:

RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-d [OR] 
RewriteCond %{REQUEST_URI} ^/pagesearch/(staticpage1|staticpage2)/ 
RewriteRule^- [L] 

RewriteRule ^([\w-]+)/?$ index.php?page=$1 [L,QSA] 
RewriteRule ^([\w-]+)/([\w-]+)/?$ index.php?page=$1&sub=$2 [L,QSA] 
+0

Изменен мой вопрос, чтобы дать вам лучшее объяснение. –

+0

Теперь этот вопрос стал неясным для меня. Предоставьте свой полный доступ .htaccess и уточните, что вам нужно. Мне кажется, что вы хотите обрабатывать тот же шаблон '^ /? ([- A-Za-z0-9 -_ +] +)/([- A-Za-z0-9 -_ +] +) /? $ 'иначе в том же .htaccess, что невозможно. – anubhava

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