2015-10-16 5 views
1

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

мой текущий код:

RewriteRule ^/search-jobs/?$ search-jobs.php [NC,L] # Search jobs page 
RewriteRule ^/search-jobs/jobs-in-(.*)/?$ search-results.php?location=$1 [NC,L] # Search results locations page 

спички/поиск-работы с поиска jobs.php, большие , но он также соответствует/поиск-работа/работа-в-лондон искать-jobs.php, но я хочу, чтобы это соответствовало второму правилу для search-results.php

Почему первое правило всегда используется? и как это исправить?

EDIT:

ни один из нынешних ответов не работали. Я думаю, что моя проблема в том, что где-то на моем хостинге (недоступном для меня) установлены некоторые значения по умолчанию, как будто я просто перехожу в/search-results, он будет автоматически использовать файл search-results.php, хотя я ничего не установил это сделать?

Итак, теоретически любой запрос /search-jobs(.*) будет автоматически использовать search-jobs.php, по-видимому, независимо от каких-либо правил, которые я создаю.

в любом случае, я переставить свои правила ниже .. и я до сих пор всегда хит-поиск jobs.php файл:

RewriteEngine On # Turn on the rewriting engine 

RewriteRule ^/search-jobs/jobs-in-(.*)/?$ search-results.php?location=$1 [NC,L] # Search results locations page 
RewriteRule ^/search-jobs/(.*)-jobs/?$ search-results.php?keywords=$1 [NC,L] # Search results keywords page 
RewriteRule ^/search-jobs/?$ search-jobs.php [NC,L] # Search jobs page 
+0

Вы все еще ведущую черту в 'RewriteRule' шаблон. –

ответ

0

Положите ваше второе правила первым, а также вложить свои регулярные выражения в кавычках.

Таким образом, когда он соответствует ^/search-jobs/jobs-in (. *) /? $, Флаг [L] говорит, что не продолжать, поэтому он не будет обрабатывать ^/search-jobs /? $

1

Remove слэш / с начала строки запроса, как это:

RewriteRule ^search-jobs/jobs-in-(.*)/?$ search-results.php?location=$1 [NC,L] # Search results locations page 
RewriteRule ^search-jobs/(.*)-jobs/?$ search-results.php?keywords=$1 [NC,L] # Search results keywords page 
RewriteRule ^search-jobs/?$ search-jobs.php [NC,L] # Search jobs page 
Смежные вопросы