.htaccess规则重定向所有页面,除了一些提供的页面

时间:2012-10-12 17:38:29

标签: .htaccess

我有以下.htaccess文件。

ErrorDocument 404 /404.php


RewriteRule ^aanbiedinginformatie$ aanbiedinginformatie.php
RewriteRule ^algemenevoorwaarden$ algemenevoorwaarden.php

RewriteRule ^contact$ contact.php
RewriteRule ^disclaimer$ disclaimer.php
RewriteRule ^faq$ faq.php
RewriteRule ^index$ index.php
RewriteRule ^informatie$ informatie.php
RewriteRule ^inloggen-bedrijven$ inloggen-bedrijven.php
RewriteRule ^inloggen-consument$ inloggen-consument.php
RewriteRule ^nieuws$ nieuws.php
RewriteRule ^(.*)-nieuws$ bekijknieuws.php?id=$1
RewriteRule ^(.*)-(.*)-persbericht$ persbericht.php?id=$1&bedrijf=$2
RewriteRule ^persberichteninformatie$ persberichteninformatie.php
RewriteRule ^privacy$ privacy.php
RewriteRule ^registreren-bedrijven$ registreren-bedrijven.php
RewriteRule ^registreren-bedrijven-stap-2$ registreren-bedrijven-stap-2.php
RewriteRule ^registreren-bedrijven-stap-3$ registreren-bedrijven-stap-3.php
RewriteRule ^registreren-bedrijven-stap-4$ registreren-bedrijven-stap-4.php
RewriteRule ^registreren-bedrijven-stap-5$ registreren-bedrijven-stap-5.php
RewriteRule ^registreren-consument$ registreren-consument.php
RewriteRule ^vacatureinformatie$ vacatureinformatie.php
RewriteRule ^(.*)-vacatures$ vacatures.php?id=$1

RewriteRule ^zoeken-op-(.*)$ zoeken.php?query=$1
RewriteRule ^zoeken-in-(.*)$ zoeken.php?plaats=$1
RewriteRule ^zoeken-q-(.*)-in-(.*)$ zoeken.php?query=$1&plaats=$2

RewriteRule ^(.*)-vacatures-zoeken$ zoekenvac.php?query=$1
RewriteRule ^(.*)-in-(.*)-vacatures$ zoekenvac.php?query=$1&plaats=$2
RewriteRule ^vacatures-in-(.*)$ zoekenvac.php?plaats=$1 

RewriteRule ^(.*)-aanbiedingen$ zoekenaan.php?query=$1
RewriteRule ^(.*)-aanbiedingen-in-(.*)$ zoekenaan.php?query=$1&plaats=$2
RewriteRule ^aanbiedingen-in-(.*)$ zoekenaan.php?plaats=$1

RewriteRule ^(.*)-persberichten$ zoekenpers.php?query=$1
RewriteRule ^persberichten-in-(.*)$ zoekenpers.php?plaats=$1
RewriteRule ^(.*)-persberichten-in-(.*)$ zoekenpers.php?query=$1&plaats=$2

RewriteRule ^bedrijven-in-(.*)$ zoeken.php?plaats=$1

RewriteRule ^control/consument$ control/consument.php
RewriteRule ^control/consument-mijngegevens$ control/consument-mijngegevens.php
RewriteRule ^control/consument-wachtwoord$ control/consument-wachtwoord.php
RewriteRule ^control/consument-cv$ control/consument-cv.php
RewriteRule ^control/consument-reacties$ control/consument-reacties.php
RewriteRule ^control/consument-reviews$ control/consument-reviews.php
RewriteRule ^control/logout$ control/logout.php

RewriteRule ^control/bedrijven$ control/bedrijven.php
RewriteRule ^control/bedrijven-aanbieding$ control/bedrijven-aanbieding.php
RewriteRule ^control/bedrijven-facturen$ control/bedrijven-facturen.php
RewriteRule ^control/bedrijven-fotos$ control/bedrijven-fotos.php
RewriteRule ^control/bedrijven-kortingscode$ control/bedrijven-kortingscode.php
RewriteRule ^control/bedrijven-kortingscode-bewerken-(.*)$ control/bedrijven-    kortingscode-bewerken.php?id=$1
RewriteRule ^control/bedrijven-kortingscode-verwijderen-(.*)$ control/bedrijven-    kortingscode-verwijderen.php?id=$1
RewriteRule ^control/bedrijven-wachtwoord$ control/bedrijven-wachtwoord.php
RewriteRule ^control/bedrijven-pakket$ control/bedrijven-pakket.php
RewriteRule ^control/bedrijven-persbericht$ control/bedrijven-persbericht.php
RewriteRule ^control/bedrijven-persbericht-bewerken-(.*)$ control/bedrijven-   persbericht-bewerken.php?id=$1
RewriteRule ^control/bedrijven-persbericht-verwijderen-(.*)$ control/bedrijven- persbericht-verwijderen.php?id=$1
RewriteRule ^control/bedrijven-profiel$ control/bedrijven-profiel.php
RewriteRule ^control/bedrijven-vacatures$ control/bedrijven-vacatures.php
RewriteRule ^control/bedrijven-vacatures-bekijk-(.*)$ control/bedrijven-vacatures- bekijk.php?id=$1
RewriteRule ^control/bedrijven-vacatures-bewerken-(.*)$ control/bedrijven-vacatures-   bewerken.php?id=$1
RewriteRule ^control/bedrijven-vacatures-verwijderen-(.*)$ control/bedrijven-vacatures-verwijderen.php?id=$1
RewriteRule ^control/logoutb$ control/logoutb.php

RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

RewriteRule ^id(.*)-(.*)$ bedrijf.php?id=$1
RewriteRule ^branche(.*)-(.*)$ zoekenbranche.php?id=$1

我想要的是,除了上面提供的网址之外的所有网址都会重定向到bedrijf.php?q=$1。我尝试排除,但这不起作用。

因此www.site.com/companyname将重定向到bedrijf.php?q = companyname,而www.site.com/contact将重定向到contact.php

我该怎么做?

1 个答案:

答案 0 :(得分:1)

重写规则循环。在URI停止更改之前,整个规则集将不断重新应用于URI。你的规则在这里:

RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

没有条件阻止先前重写的URI被重写为bedrijf.php,因为(.*)匹配所有内容。

尝试添加一些条件,例如:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]

RewriteCond %{ENV:REDIRECT_STATUS} !200
RewriteRule ^(.*)$ bedrijf.php?q=$1 [L]