url rewriting check?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Oracle APEX developer

Wat je gaat doen: Als Oracle APEX ontwikkelaar bij DPA werk je samen met collega’s aan de meest interessante opdrachten. Je zult je ervaring met SQL, PL/SQL, JavaScript, HTML en CSS inzetten om wensen van opdrachtgevers te vertalen naar technische oplossingen. Je werk is heel afwisselend, omdat DPA zich niet beperkt tot een specifieke branche. Zo ben je de ene keer bezig binnen de zorgsector, de andere keer is dit bij de overheid. Wat we vragen: Klinkt goed? Voor deze functie breng je het volgende mee: Je hebt een hbo- of universitaire opleiding afgerond Je hebt 2 tot 5 jaar

Bekijk vacature »

Medior Java developer (fullstack)

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Full Stack Java ontwikkelaar

Functieomschrijving Voor de politie zijn wij op zoek naar een Full stack Java ontwikkelaar. Als ervaren full stack Java ontwikkelaar binnen de gewenste deadlines meewerken aan de totstandkoming van de gewenste werkzaamheden. Taken Upgraden van GeoServer, SOLR, Oracle Spatial database, Tomcat Migreren Oracle Spatial naar PostgreSQL/PostGIS Migreren SOLR naar ElasticSearch Geografische gegevens op het interne netwerk beschikbaar maken Doorontwikkelen en actualiseren van de geografische services Het up to date brengen van de CI/CD pipeline, samen met medewerkers die verantwoordelijk zijn voor de CI/CD tooling Aanspreekbaar op de solution architectuur en stemt die met collega's in het cluster Geo De opdracht

Bekijk vacature »

Applicatieontwikkelaar ABAP

Bedrijfsomschrijving Functieomschrijving De kandidaat zal worden ingezet binnen een van de DevOps teams binnen SCI (Service Centrum Inburgering) voor het ontwerpen en bouwen in SAP ABAP van de binnen SCI gebruikte informatiesystemen. Voornaamste voorkomende werkzaamheden zijn het aanpassen van en bouwen van nieuwe programmatuur in ABAP (Objects), waarbij ook gebruikt wordt gemaakt van DDD (Domain Driven Design) en het opstellen/aanpassen van Functionele/Technische ontwerpen. Daarnaast moeten ook formulieren met SAP Smartforms worden aangepast. Verder speelt de overgang naar SAP4Hana en SAP CPI. Vanwege het veelvuldig gebruik van SAP PO is kennis hiervan een pré. Achtergrond opdracht Momenteel werken meerdere DevOps teams

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Back-End Web Developer

Als Back-End Web Developer bij Coolblue zorg je ervoor dat onze webshops elke dag een beetje beter zijn. Wat doe je als Back-End Web Developer bij Coolblue? Als Back-End Web Developer werk je met andere development teams samen om onze webshop zo optimaal mogelijk te laten werken en onze klanten blij te maken. Als backend developer weet je de weg in PHP, kan je in Typescript een microservice op zetten of ben je bereid om dit te leren. Ook Web Backend Developer worden bij Coolblue? Lees hieronder of het bij je past. Dit vind je leuk om te doen PHP

Bekijk vacature »

Medior C# Developer

You'll build modern applications for Coolblue's back office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Medior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become C# Developer at Coolblue? Read below if the job suits you. You enjoy doing this Working with various types of

Bekijk vacature »

C#.NET-developer - JUNIOR

Functie omschrijving Voor een leuke opdrachtgever in omgeving Brielle zijn wij op zoek naar een junior developer. Werk jij graag met de volgende tools & technieken? C#, .NET, ASP.NET, MVC en SQL? Kijk dan snel of dit iets voor jou is! Als programmeur bij een productiebedrijf zal je voornamelijk nieuwe software schrijven maar ook bestaande software verbeteren. Verder werk je veel samen in back end projecten met leuke collega's. Bedrijfsprofiel Met een team van ruim 130 personen staan ze elke dag weer klaar om IT en Business te combineren door het ontwikkelen van producten op maat. Er zijn 3 teams,

Bekijk vacature »

Ervaren PHP Developer

Functie omschrijving Jelling IT zoekt ervaren PHP developer! Voor een organisatie in de regio Rhenen zijn wij op zoek naar een ervaren PHP developer die gaat functioneren als een verlengstuk van de klant. Jij bent iemand die technisch complexe zaken met enthousiasme aanvliegt. Je bent in staat om aan meerdere projecten te werken en werkt graag met de nieuwste technieken. In deze functie werk je veel samen met front-end developers en stel je alles in het werk om grote verschillen voor de klanten teweeg te brengen. Verder ben jij iemand die graag zichzelf uitdaagt en die altijd de beste wilt

Bekijk vacature »

Fullstack Software Developer

Bedrijfsomschrijving Functieomschrijving Java ontwerpen, bouwen en testen (T-shaped). Als senior ontwikkelaar ben je bekend in zowel de back-end als de frontend van een applicatie. Angular, Continious Delivery / Integration. Een ervaren iemand die de leiding kan nemen, een weg vindt in nieuwe situaties, en in oude applicaties. Initiatiefrijk, bekend met de (technische) omgevingen die we bij duo gebruiken, niet te beroerd om collega’s te helpen. Als senior programmeur in staat om op te treden als lead programmeur. Ondersteunt de testers bij de testautomatisering en minder ervaren programmeurs bij dagelijks werkzaamheden. Dit laatste met name op het gebied van Angular. Achtergrond

Bekijk vacature »

Freelance JAVA / C# Developer

Functieomschrijving Ben je een ervaren freelancer of werk je in loondienst en ben je toe aan een nieuwe uitdaging? Lees dan snel verder want wie weet is dit een leuke vacature voor jou! Voor een opdrachtgever in omgeving Delft zijn wij op zoek naar ervaren JAVA of C# Developers die graag op projectbasis willen werken. Je komt terecht bij een informele developers club die mooie projecten uitvoeren voor grote klanten. Het fijne van deze werkgever is dat je zelf mag beslissen hoe je te werk wilt gaan. Wil je als freelancer werken dan is dat OK. Wil je de zekerheid

Bekijk vacature »

Backend Developer Integraties API HBO REST

Samengevat: Deze werkgever is een IT-consultancy. Wil jij werken als Backend Developer Integraties? Heb jij kennis van gangbare berichtformaten? Vaste baan: Backend Developer Integraties API HBO €3.100 - €4.400 Zij bieden innovatieve oplossingen die bedrijven efficiënter en wendbaarder maken, waardoor onze klanten zich net zo snel kunnen ontwikkelen als de business van hen vraagt. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om de inzet van technologie. Deze werkgever staat open voor elke nieuwe trend. Onze systemen zijn groot en ingewikkeld. Hou jij van diepgang

Bekijk vacature »

Medior PHP Developer

Bij Getnoticed doen wij wat we leuk vinden, websites bouwen en online marketing. Voor veel van onze klanten doen we dan ook allebei. Wel zo fijn om campagnes te draaien voor conversiegerichte website die in eigen beheer zijn. In onze vestiging in Nederweert zitten onze development afdelingen en worden de websites gebouwd. Op dit moment zijn we op zoek naar jou: dé PHP/Back-end developer die net als wij, het hoofd boven het maaiveld durft uit te steken! In het kort Even een paar punten die omschrijven wat deze toffe baan inhoudt: Het bedenken van nieuwe functionaliteiten Het verbeteren van het

Bekijk vacature »

Software developer

Functie Momenteel zijn ze op zoek naar een Software developer die, veelal fullstack, mee gaat werken aan de ontwikkeling van de producten en zo helpt aan de uitvoering van hun ontwikkelprojecten. Je komt te werken binnen hun development team bestaande uit 6 ontwikkelaars. Ze staan zowel open voor meer junior als medior/senior developers. Je kunt snel veel verantwoordelijkheid krijgen en doorgroeien binnen het bedrijf. Bovendien ben je betrokken bij het bepalen van de product roadmap en de inbreng van (nieuwe) technologieën. De applicaties waaraan je werk worden gebruikt op onderwijsinstellingen door heel Nederland. De tech-stack bestaat voornamelijk uit Laravel (PHP),

Bekijk vacature »

Pagina: 1 2 volgende »

Ozzie PHP

Ozzie PHP

31/01/2012 12:28:07
Quote Anchor link
Ola vrienden,

Is het mogelijk om via php te controleren of URL rewriting mogelijk is?

In mijn cms wil ik dit soort urls kunnen gebruiken:
www.mijnsite.nl/nieuwepagina

Echter, als URL rewriting niet mogelijk is dan zal je dezelfde pagina als volgt moeten aanroepen:
www.mijnsite.nl/index.php?route=nieuwepagina

Nu wil ik eigenlijk tijdens de installatie van mijn cms gaan controleren of URL rewriting is ingeschakeld. Ik dacht dan om via het cms een testpagina aan te roepen:
www.mijnsite.nl/testpagina

Maaaar... als URL rewriting niet werkt dan gaat dit natuurlijk niet werken want dan kan ie de pagina niet vinden en krijg je dus een 404 pagina. Is hier iets op te verzinnen?

Waarom ik dit wil weten... als URL rewriting niet in ingeschakeld dan wil ik dat het CMS automatisch alle links prefixt met "index.php?route=".

Iemand suggesties?
 
PHP hulp

PHP hulp

08/05/2024 02:15:13
 
Ozzie PHP

Ozzie PHP

02/02/2012 11:33:52
Quote Anchor link
* Bump *
 
Pieter Jansen

Pieter Jansen

02/02/2012 11:46:58
Quote Anchor link
Ja Ozzie, dat is mogelijk. Ik start m`n IDE even op en als ik de code heb gevonden post ik het hier.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php

/**
 * A method to help see if mod_rewrite is on. If mod_rewrite is on, the dispatch of
 * index.php can be ignored, otherwise, that node in the request URI should be filtered
 * out.
 * @uses SetEnv HTTP_MOD_REWRITE On /* in .htaccess
 * @return bool true if on, false otherwise
 */

function IsModRewriteOn ()
{

    if(function_exists('apache_get_modules'))
        {

            $modules = apache_get_modules();
            $rewrite = in_array('mod_rewrite', $modules);
        }

        else
        {
        // Hier zou je dus in een .htaccess moeten typen: SetEnv HTTP_MOD_REWRITE On
            $rewrite = (getenv('HTTP_MOD_REWRITE') == 'On') ? true : false ;
        }

        return $rewrite;
    }


?>
Gewijzigd op 02/02/2012 11:50:12 door Pieter Jansen
 
Wouter J

Wouter J

02/02/2012 11:48:18
Quote Anchor link
Je kan kijken of mod_rewrite in de array zit die apache_get_modules terug geeft:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if( in_array('mod_rewrite', apache_get_modules()) )
  echo 'mod rewrite enabled!';
else
  echo 'noo, we cannot make SEO urls!!! :(';
?>


Maar als PHP als CGI module wordt gebruikt kan dit niet, je hebt dan geen toegang tot de phpinfo() functies. Je kan het via de shell functies doen. Maar je kan ook handmatig een .htaccess file aanmaken en bijv. file1.txt en file2.txt. In de .htaccess schrijf je RewriteRule file2\.txt file1.txt. Vervolgens kijk je of de waarde die file_get_contents( file2.txt ) gelijk is aan de waarde van file2 of aan de waarde van file1. Hiermee kan je afleiden of .htaccess werkt:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php

function isModRewriteEnabled()
{

  try
  {
    writeFile( 'file1.txt', 'file1' );
    writeFile( 'file2.txt', 'file2' );
    writeFile( '.htaccess', 'RewriteEngine On'.PHP_EOL.'RewriteRule file2\.txt file1.txt' );

    if( file_get_contents('file2.txt') !== 'file1' )
      return false
    return true;
  }

  catch( LogicException $e )
  {

    echo '[ERROR] '.$e->getMessage();
  }

  catch( Exception $e )
  {

    echo $e->getMessage();
  }

  return false;
}

function
writeFile( $file, $text )
{

  $f = fopen($file, 'w');
  if( $f !== false )
  {

    if( (fwrite($f, $text)) !== false )
    {

      fclose($f);
      return true;
    }

    else
      throw new LogicException('We cannot write to the file');
  }

  else
    throw new LogicException(sprintf('The file(%s) cannot opened', $file));
  return false;
}
Gewijzigd op 02/02/2012 11:57:35 door Wouter J
 
Ozzie PHP

Ozzie PHP

02/02/2012 11:51:14
Quote Anchor link
@Merijn: thanks... ik zie het graag tegemoet.

@Wouter: dankjewel. Maar... zou het kunnen zijn dat de module wel aanwezig is, maar niet ingeschakeld? Dus dat ie wel in de array voorkomt, maar disabled is? Of is ie altijd enabled als ie in de array zit?
 
Pieter Jansen

Pieter Jansen

02/02/2012 11:56:37
Quote Anchor link
Ik heb de code even aangepast, als het goed is staat het erin.

Edit:

Antwoord op je hierboven gestelde vraag, ja. Als de modules in de lijst voorkomen, betekent het dat ze zijn ingeschakeld. Apache_get_modules() geeft alleen de geladen modules terug, niet alle modules die eventueel beschikbaar zouden zijn.
Gewijzigd op 02/02/2012 11:58:53 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:04:44
Quote Anchor link
Oké. Ik zet bij de installatie van mijn CMS een standaard .htaccess in de root van de www folder. Daar heb ik o.a. in staan:

<IfModule mod_rewrite.c>

# Turn on the rewrite engine.
RewriteEngine On

</IfModule>

Ik schakel de rewrite engine dus altijd in... maar dan weet ik dus niet of de module wel of niet aan staat. Dat kan ik dan mooi controleren met apache_get_modules(). Volgens mij ga ik dat CGI niet gebruiken, dus dan volstaat deze code prima lijkt me:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if( in_array('mod_rewrite', apache_get_modules()) )
  echo 'mod rewrite enabled!';
else
  echo 'noo, we cannot make SEO urls!!! :(';
?>
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:08:24
Quote Anchor link
Jep, dat klopt. Maar apache_get_modules() hoeft niet perse of elke PHP installatie te gebruiken zijn vandaar dat ik een toevoeging heb, getenv('HTTP_MOD_REWRITE') == 'On'. Puur persoonlijk waarschijnlijk.
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:13:44
Quote Anchor link
Is apache_get_modules niet een standaardonderdeel van PHP dan?

Het lijkt alsof het vanaf versie 4.3.2 aanwezig is: http://nl2.php.net/apache_get_modules

...maar ik zie ook iets staan (links in het menu) over server specific extensions?

Is het dan wel of niet altijd aanwezig? Ik dacht eigenlijk dat getenv niet altijd aan te raden was?
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:15:48
Quote Anchor link
Nee getenv is eigenlijk niet goed. Ik dacht dat het er standaard trouwens wel in zat, die apache_get_modules(). Ik heb die getenv alleen voor het geval dat.
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:17:45
Quote Anchor link
Maaaar... nu realiseer ik me ineens iets...

Wat nou als mijn cms niet op een apache server staat? Maar op een Windows machine?

Werkt die functie dan nog?

Is dat soms de reden waarom je function_exists hebt gebruikt en die getenv?
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:23:34
Quote Anchor link
Ja daar zou je ze inderdaad voor kunnen gebruiken. Maar de kans dat ze op een niet-apache server staan is vrij klein hoor. IIS draait verder de standaard PHP modules, maar goed, dat geldt dus niet voor apache in dat geval. Maar, .htaccess werkt geloof ik ook niet meer dan.. Ze hebben een andere taal daar voor en een andere naam. Ik weet zo een twee drie niet wat dat is.

Edit:

even gegoogled en ze gebruiken daar XML voor. Dus daar schiet je niet veel mee op denk ik.
Gewijzigd op 02/02/2012 12:25:20 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:26:33
Quote Anchor link
Ik heb dat wel eens gehad dat ik voor een baas werkte waar alles op IIS draaide en met een trucje (weet niet meer hoe precies) draaide htaccess gewoon.

Maar stel nu dat je op een niet-Apache server draait. Bestaat die functie dan ook echt niet? Met andere woorden, moet je wel die function_exists gebruiken?
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:31:11
Quote Anchor link
Ja dan wel. Anders krijg je een warning dat je function aanroept die niet bestaat.

Functies bestaan in PHP in de vorm van grote libraries. De modules om de juiste term te gebruiken. De standaard PHP installatie die je kunt downloaden van php.net is bijvoorbeeld een kale versie. Daar zitten x aantal PEAR packages in en de core PHP. Maar voor meerdere dingen kun je ook extensions en modules toevoegen. Apache is daar een van.
Gewijzigd op 02/02/2012 12:33:45 door Pieter Jansen
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:36:26
Quote Anchor link
Ah oké, dan gebruik ik gewoon die function_exists en getenv. Thanks!
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:45:22
Quote Anchor link
Ik besef me net dat als je .htaccess om kan zetten naar xml en daar dus de environment variabelen uit kunt lezen, dat getenv dus wel werkt ook IIS. HTTP_MOD_REWRITE is dan namelijk ook op IIS dan een environment variabele. Dan zou dat je backup voor IIS kunnen zijn.
 
Ozzie PHP

Ozzie PHP

02/02/2012 12:53:25
Quote Anchor link
Maar als ik nou niks wil omzetten naar xml heeft die getenv dan wel of geen zin? Of werkt getenv wel op IIS?
 
Pieter Jansen

Pieter Jansen

02/02/2012 12:55:26
Quote Anchor link
getenv zit in PHP zelf. Alles wat je met phpinfo(); kunt opvragen kun je met getenv krijgen. Dus ook op IIS servers. Daarnaast gebruik ik het als een conditional statement, dus mocht het anders heten is het een kwestie van een nieuwe condition toevoegen mocht het op IIS anders heten.
 
Ozzie PHP

Ozzie PHP

02/02/2012 13:11:27
Quote Anchor link
Zou dat dan kunnen dat het op IIS anders heet? Is dat niet altijd hetzelfde?
 
Pieter Jansen

Pieter Jansen

02/02/2012 13:13:07
Quote Anchor link
Dat durf ik niet te zeggen, ik werk alleen met IIS als ik in C# zit en ik zit daar niet veel in op webservers. Dat zou je even moeten controleren bij IIS zelf. Of op een IIS community moeten vragen. Je mag wel verwachten dat andere environment variabelen als $_POST etc werken dus ik _gok_ dat het werkt. Maar goed, ik heb de jackpot niet gewonnen.. dus ja..
 
Ozzie PHP

Ozzie PHP

02/02/2012 13:15:25
Quote Anchor link
Ah oke... maar ik bedoel niet of die getenv werkt, maar of dat "HTTP_MOD_REWRITE" op Apache hetzelfde heet als op IIS. Of bedoel jij hetzelfde?
 

Pagina: 1 2 volgende »



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.