2013-09-19 6 views
0

У меня есть файл .htaccess, который имеет несколько правил, чтобы сделать URL-адрес «красивым». Это файл:.htaccess несколько правил и исключений

RewriteEngine On 

RewriteRule ^property/([^/]*)/?([^/]*)/?$ /property.php?ID=$1&Image=$2 [L] 
RewriteRule ^property$ /property.php [L] 

RewriteRule ^enquire/([^/]*)/?([^/]*)/?$ /enquire.php?ID=$1&Data=$2 [L] 
RewriteRule ^enquire$ /enquire.php [L] 

RewriteRule ^contact/?$ /contact.php [L] 
RewriteRule ^home/?$ /index.php [L] 

RewriteCond %{REQUEST_FILENAME} -f [OR] 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_URI} ^/(property|property/.*|enquire|enquire/.*|contact|contact/.*|home|home/.*)$ 
RewriteRule ^([^/]*)$ /custompages.php?ID=$1 [L] 

Первый набор правил работы для property, enquire, contact и home. Если URL-адрес не является одним из них, например. www.foo.com/about-us, я хочу, чтобы он вызывал файл custompages?ID=about-us, но с этим кодом он не работает. Я довольно новичок в использовании файлов .htaccess, и я не могу понять, что это за проблема.

ответ

0

Неправильное использование вашего последнего слова. Изменение, что:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?$ /custompages.php?ID=$1 [L] 
+0

Это не сработало, он обеспечивает 404 ошибки –

+0

ли этот URL нагрузки правильно: 'www.foo.com/custompages.php ID = о-us'? – anubhava

+0

Это не работает 'RewriteCond% {REQUEST_FILENAME} -f [OR] RewriteCond% {REQUEST_FILENAME} -d [OR] RewriteCond% {REQUEST_URI} ^/(свойство | свойство /.* | запрашивать | запрашивать /.* | contact | contact /.* | home | home /.*)$ RewriteRule^([^ /] *) $ /custompages.php?ID=$1 [L] ' Но это делает RewriteRule^([^ /] *) $ /custompages.php?ID=$1 [L] ' –

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