De gevraagde url / ongeveer is niet gevonden op deze server

De startpagina van mijn WordPress-website lijkt correct weer te geven, maar als u doorklikt naar een van de andere pagina’s, ontvang ik het volgende foutbericht:

Not Found
The requested URL /about was not found on this server.
Apache/2 Server at www.wildlionmedia.co.uk Port 80

Ik weet niet of het een probleem is met het thema of het .htaccess-bestand dat niet correct wordt herschreven.

http://www.wildlionmedia.co.uk/

Alle ideeën hoe ik het probleem kan oplossen?

# Switch rewrite engine off in case this was installed under HostPay.
RewriteEngine On
SetEnv DEFAULT_PHP_VERSION 53
DirectoryIndex index.cgi index.php
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine Off
RewriteBase /wildlionmedia.co.uk/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wildlionmedia.co.uk/index.php [L]
</IfModule>
# END WordPress

1, Autoriteit 100%

Dat is geen typisch WordPress-herschrijfblok. Dit is:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Zie http://codex.wordpress.org/using_permalinks#WAAR.27S_MY_ .htaccess_file.3f

Waar is mijn .htaccess-bestand? WordPress’s index.php en .htaccess bestanden
moeten samen in de map staan die wordt aangegeven door het siteadres
(URL)-instelling op uw pagina Algemene opties. Aangezien de naam van het bestand
begint met een punt, is het bestand mogelijk niet zichtbaar via een FTP-client
tenzij u de voorkeuren van de FTP-tool wijzigt om alle bestanden te tonen,
inclusief de verborgen bestanden. Sommige hosts (bijv. Godaddy) worden mogelijk niet weergegeven of
staat u toe om .htaccess te bewerken als u WordPress installeert via de
Installatie Godaddy Hosting Connection.

Creëren en bewerken (.htaccess) Als u nog geen a
.htaccess-bestand, maak er dan een aan. Als je shell- of ssh-toegang hebt tot de
server, zal een simpele touch .htaccess-opdracht het bestand maken. als jij
FTP gebruiken om bestanden over te brengen, maak een bestand aan op uw lokale computer,
noem het 1.htaccess, upload het naar de hoofdmap van je WordPress-map,
en hernoem het dan naar .htaccess.

U kunt het .htaccess-bestand bewerken via FTP, shell of (mogelijk) uw
het configuratiescherm van de host.

Het gemakkelijkste en snelste is om je permalinks in Dashboard>>Settings>>Permalinks te resetten en ervoor te zorgen dat .htaccess beschrijfbaar is, zodat WordPress de regels zelf kan schrijven.

En: weet u dat u index.cgials uw standaarddocument aanroept in plaats van index.php? Dat is verkeerd. Verwijder index.cgi. Of probeer ook de hele regel te verwijderen, want het definiëren van een standaarddocument op uw server is misschien niet nodig.


Antwoord 2, autoriteit 96%

Als alle bovenstaande punten niet werken. Probeer dan deze eens. Ik heb het geprobeerd. Het werkt voor mij.

  1. Ga naar /etc/httpd/conf/httpd.conf.
  2. Verander de AllowOverrideGeen in AllowOverride All.
  3. Herstartde apache-server.

UPDATE 2017

Voor nieuwe versies van apache heet het bestand apache2.conf

Dus om toegang te krijgen tot het bestand, typt u sudo nano /etc/apache2/apache2.confen wijzigt u de corresponderende regel in blok <Directory /var/www >


Antwoord 3, autoriteit 27%

Het werkte als volgt voor mij:

Ga naar WordPress Beheerdersdashboard > “Instellingen” > “Permalinks” > “Algemene instellingen”, zet het keuzerondje op “Aangepaste structuur” en plak in het tekstvak:

/index.php/%year%/%monthnum%/%day%/%postname%/

en klik op de knop Opslaan.

Ik heb deze oplossing van deze link


Antwoord 4, autoriteit 18%

Ik heb het vorige .htaccess-bestand verwijderd en een nieuwe gemaakt door op de knop Opslaan te klikken in Instellingen->Permalinks

en nu de pagina’s goed begonnen te werken…


Antwoord 5, autoriteit 15%

FWIW: ik heb een LAMP-server helemaal opnieuw opgebouwd en WordPress geïnstalleerd. Ik had hetzelfde probleem nadat ik mijn Permalink-instelling had opgeslagen om het .htaccess-bestand te genereren. Blijkt dat mod_rewrite niet was ingeschakeld. Ik kwam dit bericht op Digital Ocean.
FTA:

Eerst moeten we mod_rewrite activeren. Het is beschikbaar, maar niet ingeschakeld met een schone Apache 2-installatie.

$ sudo a2enmod rewrite

Hierdoor wordt de module geactiveerd of wordt u gewaarschuwd dat de module al is ingeschakeld. Start Apache opnieuw om deze wijzigingen door te voeren.

$ sudo systemctl restart apache2

Antwoord 6, autoriteit 13%

Er is een vertrouwd antwoord op de WordPress-website:

Waar is mijn .htaccess-bestand?

WordPress’s index.php en .htaccess bestanden zouden samen moeten staan in de
directory aangegeven door de site-adres (URL)-instelling op uw Algemeen
Opties pagina. Aangezien de naam van het bestand met een punt begint, is het bestand
is mogelijk niet zichtbaar via een FTP-client, tenzij u de
voorkeuren van de FTP-tool om alle bestanden te tonen, inclusief de verborgen
bestanden. Sommige hosts (bijv. Godaddy) tonen mogelijk niet of laten je niet bewerken
.htaccess als je WordPress installeert via de Godaddy Hosting
Installatie van de verbinding.

Creëren en bewerken (.htaccess)

Als je nog geen .htaccess-bestand hebt, maak er dan een aan. Als je hebt
shell of ssh toegang tot de server, een simpele touch .htaccess commando
zal het bestand maken. Als u FTP gebruikt om bestanden over te zetten, maak dan een
bestand op uw lokale computer, noem het 1.htaccess, upload het naar de root
van uw WordPress-map en hernoem deze vervolgens naar .htaccess.

U kunt het .htaccess-bestand bewerken via FTP, shell of (mogelijk) uw
het configuratiescherm van de host.

De volgende herschrijfcode voor de permalink moet worden opgenomen in uw
.htaccess-bestand (sinds WordPress 3.0):

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

*Genomen van hier.


Antwoord 7, autoriteit 10%

Het werkte als volgt voor mij:

Ga naar WordPress Beheerdersdashboard > “Instellingen” > “Permalinks” > “Algemene instellingen”, zet het keuzerondje op “Aangepaste structuur” en plak in het tekstvak:

/index.php/%year%/%monthnum%/%day%/%postname%/

en klik op de knop Opslaan.


Antwoord 8, autoriteit 10%

Het geselecteerde antwoord loste dit probleem niet voor mij op. Dus voor degenen die hier nog steeds hun hoofd over krabben, heb ik een andere oplossing gevonden!

In mijn Apache-instellingen httpd.conf(je kunt het conf-bestand vinden door apachectl -Vin je console uit te voeren), schakelde de volgende module in:

LoadModule rewrite_module modules/mod_rewrite.so

En nu werkt de site zoals verwacht.


Antwoord 9, autoriteit 8%

Hallo,

Hoewel laat Als iemand met soortgelijke problemen hier lijdt, kunt u permalinks toestaan door uw virtuele hostbestand aan te passen of waar u uw WP-sites ook host.

Dus in principe werkt alles prima – je stelt permalinks in om te posten en plotseling verdwijnt de url. Je ging naar veel discussieforums (zoals ik) probeerde veel aan te passen en kreeg “Permission to server 403”-fouten of URL niet gevonden-fout. Het enige wat u hoeft te doen is naar het hostbestand te gaan, bijvoorbeeld 000-default.conf als u een standaard virtuele host gebruikt of uw configuratiebestand binnen sites-enabled,

gebruik in de directory-sectie :

<Directory "path/to/dir">
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>

Gebruik de volgende interne directory niet

Order allow,deny
Allow from all

De instructies Order en Allow zijn verouderd in Apache 2.4.

Evenzo kunt u de map instellen in /etc/apache2/apache2.conf de map voor uw pad instellen en bovenstaande niet gebruiken – dit zal een toestemming 403-fout veroorzaken.

Daarnaast moet je mod_rewrite voor apache inschakelen


Antwoord 10, autoriteit 5%

Hoewel de oplossing voor dit probleem nauwelijks wordt gecodeerd bij het opnieuw genereren van uw .htaccess-bestand; inderdaad, het werkte niet voor de meesten van jullie, vooral niet toen de site werd gemigreerd naar een nieuwe server.

Laten we in een paar basisprincipes duiken.

Laten we aannemen dat voor de meesten van ons de WordPress-omgeving draait op een PHP-server APACHE waar deze server de meeste initiële afhankelijkheden van onze omgeving beheert. Ondertussen is het genereren van .htaccess ook voornamelijk afhankelijk van Apache-configuraties.

Dus als dat gezegd is, komt de bijdrage van het .htaccess-creatieconflict vooral voor wanneer een WordPress-website wordt gemigreerd van een server waarop de WordPress-omgeving draait op een oude versie van Apache en PHP naar een nieuwere versie van PHP en Apache.

Omdat afhankelijkheden van nrwer en oudere versies anders zijn, staat de nieuwere versie van Apache2 de .htaccess-richtlijnen niet toe standaard een .htaccess-bestand te maken; daarom moeten we de rootdirectory-machtigingen van de WordPress-website handmatig instellen van “AllowOverride None” naar “AllowOverride All”.

Ter vergelijking wordt de AllowOverride-richtlijn gebruikt om het gebruik van .htaccess binnen de webserver toe te staan om de Apache-configuratie per directory te kunnen overschrijven.

Gebruik de volgende oplossing om de machtigingsinstellingen voor de map apache2.conf te wijzigen:

Hoe om te gaan met GCP WordPress-fout “Deze pagina werkt niet example.com kan dit verzoek momenteel niet verwerken. HTTP ERROR 500


Antwoord 11, autoriteit 5%

Ik heb een heel eenvoudige oplossing gevonden.

  1. Ga naar PermalinkInstellingen
  2. Gebruik Plainvoor URL
  3. Druk op de knop Opslaan

Nu zouden alle pagina-URL’s in WordPress perfect moeten werken.

U kunt de URL terugzetten naar de vorige instelling en de WordPress zal de URL correct opnieuw genereren. Ik kies in mijn geval Naam berichten het werkt prima.


Antwoord 12, autoriteit 3%

Hier is een andere versie voor WordPress, de originele werkte niet zoals bedoeld.

# BEGIN WordPress
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteRule ^index\.php$ - [END]
    RewriteCond $1 ^(index\.php)?$ [OR]
    RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]
    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.*)$ - [END]
    RewriteRule ^ /index.php [L]
</IfModule>
# END WordPress

Referentie van deze Github repository, een beetje aangepast. Na overmatig testen lost deze regel niet alle problemen op.We hebben een WordPress webshop, die 40 plugins heeft en ergens is er een herschrijfclash. Ik hoop oprecht dat de volgende versie van WordPress geen URL-herschrijvingen heeft.


RewriteRule ^index\.php$ - [L]

De ^geeft het begin van de tekenreeks aan, \ontsnapt aan .of het zou een willekeurig teken betekenen, en $betekent einde van de string.

^index\.php$als http(s)://hostname/index.php-niets doen [END]-vlag kan worden gebruikt om niet alleen de huidige ronde van herschrijfverwerking te beëindigen, maar ook om latere herschrijfverwerking te voorkomen.


RewriteCond $1 ^(index\.php)?$ [OR]

In RewriteCondmet behulp van $1als een testreeks verwijst naar vastgelegde inhoud van alles van het begin tot het einde van de url http(s)://hostname/bla/bla.php. Indien gebruikt in vervanging of conditie verwijst het naar vastgelegde terugverwijzing. RewriteRule (bla)/(ble\.php)$ -voor http(s)://hostname/bla/ble.phplegt blain $1en ble.phpin $2. Meerdere opnamegroepen zijn toegankelijk via $3..N.

( )groepeert meerdere karakters in een enkele eenheid, ?dwingt de match optioneel.
Met de vlag [OR]kunt u herschrijfvoorwaarden combineren met een logische OF-relatie in tegenstelling tot de standaard AND.

Kortom, als bla/bla.phpindex.php OF volgende voorwaarde

bevat


RewriteCond $1 \.(gif|jpg|png|ico|css|js)$ [NC,OR]

( )groepeert verschillende karakters in een enkele eenheid, |scheidt karakters in subgroepen en conditioneert ze indien een van deze.
De vlag [NC]zorgt ervoor dat de RewriteRule op hoofdlettergevoelige wijze wordt vergeleken.

Kortom, als bla/bla.phpeindigt met een van de bestandstypen OF volgende voorwaarde


RewriteCond %{REQUEST_FILENAME} -f [OR]

Servervariabelen zijn variabelen van de vorm %{ NAME_OF_VARIABLE } waarbij NAME_OF_VARIABLE een tekenreeks kan zijn uit de volgende lijst:

%{REQUEST_FILENAME}is het volledige lokale bestandssysteempad naar het bestand of script dat overeenkomt met het verzoek, als dit al is bepaald door de server op het moment dat naar REQUEST_FILENAME wordt verwezen. Anders, zoals bij gebruik in de context van een virtuele host, dezelfde waarde als REQUEST_URI. Afhankelijk van de waarde van AcceptPathInfo, heeft de server mogelijk alleen enkele leidende componenten van de REQUEST_URI gebruikt om het verzoek aan een bestand toe te wijzen.

-fcontroleer op normaal bestand. Behandelt de teststring als padnaam en test of deze al dan niet bestaat.

Kortom, als bla/bla.phpeen bestand is OF volgende voorwaarde


RewriteCond %{REQUEST_FILENAME} -d

-dcontroleer op directory. Behandelt de teststring als een padnaam en test of deze al dan niet bestaat.

Kortom, als bla/bla.phpeen directory is


RewriteRule ^(.*)$ - [END] not as in Github [S=1]

Deze instructie wordt alleen uitgevoerd als een van de voorwaarden waar is geretourneerd.

.overeenkomen met een willekeurig teken *nul of meer keer.

De vlag [S]wordt gebruikt om regels over te slaan die u niet wilt uitvoeren. De syntaxis van de vlag voor overslaan is [S=N], waarbij Nhet aantal regels aangeeft dat moet worden overgeslagen (mits de RewriteRule overeenkomt). Dit kan worden gezien als een goto-statement in je herschrijfregelset. In het volgende voorbeeld willen we de RewriteRule alleen uitvoeren als de gevraagde URI niet overeenkomt met een daadwerkelijk bestand.

Kortom, doe niets


RewriteRule ^ /index.php [L]

De vlag [L]zorgt ervoor dat mod_rewrite stopt met het verwerken van de regelset. In de meeste contexten betekent dit dat als de regel overeenkomt, er geen verdere regels worden verwerkt. Dit komt overeen met het laatste commando in Perl, of het break-commando in C. Gebruik deze vlag om aan te geven dat de huidige regel onmiddellijk moet worden toegepast zonder verdere regels in overweging te nemen.

Kortom, herschrijf elk pad als http(s)://hostname/index.php


Ik heb dit kleine document samen uit de documentatie van apaches.org gehaald. Links hieronder.


Antwoord 13, autoriteit 2%

in instelling > permalinks wordpress eenvoudig instellen en opnieuw testen.


Antwoord 14

Ik heb hetzelfde probleem. Mijn startpagina is toegankelijk, maar het artikel is gewoon niet te vinden op de server.

Ga naar cpanel file manager > public_htmlen verwijder .htaccess.

Ga vervolgens naar de permalink-instelling in WordPress, stel de permalink in op wat u maar wilt en sla op. altviool alles weer normaal.

Dit probleem deed zich voor nadat ik WordPress had bijgewerkt.


Antwoord 15

**Permalink-probleem WordPress opgelost **
1) Log in op WordPress-dashboard > klik op instellingen > premalinks > selecteer vervolgens de naam van het bericht.
2) Log daarna in op uw hostingserver en ga naar het .htaccess-bestand en vervang de code.

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

Antwoord 16

Zorg ervoor dat mode_rewrite is ingeschakeld in de APACHE-instellingen. Zie link hier
https://github.com/h5bp/ server-configs-apache/wiki/How-to-enable-Apache-modules

Zorg er dan voor dat je de juiste .htaccess hebt
https://wordpress.org/support/topic /404-errors-with-permalinks-set-to-postname/

En corrigeer de instellingen van de virtuele host in beide Apache-instellingen
AllowOverride all instellen


Antwoord 17

Ik werk met MacOS, de volgende bewerking heeft mijn probleem opgelost:

Ik heb gekopieerd van:
https://akrabat.com/setting -up-php-mysql-on-os-x-10-7-lion/

cd /etc/apache2

Geef schrijfrechten voor het configuratiebestand naar root: sudo chmod u+w httpd.conf
sudo vim httpd.conf

Zoek #LoadModule php5_module libexec/apache2/libphp5.so

en verwijder de voorloop #

Zoek #LoadModule rewrite_module libexec/apache2/mod_rewrite.so

en verwijder de voorloop #

Zoek AllowOverride None in de sectie en verander naar AllowOverride All zodat .htaccess-bestanden werken.

Machtigingen terug wijzigen: sudo chmod u-w httpd.conf

Herstart Apache door het volgende in terminal uit te voeren:

sudo apachectl opnieuw opstarten


Antwoord 18

Ik heb http://jafty.com/ gebruikt blog/enable-mod_rewrite-on-apache-ec2-linux-server/om te bepalen dat na het upgraden naar PHP 5.6 (van 4.9.13) het ook de http (Apache) update en ik de /etc moest bewerken /httpd/conf/httpd.conf bestand, ik citeer…

In principe voegt u All in plaats van None toe aan AllowOverride, u
wilt u de configuratie van de hoofddirectory niet bewerken, u wilt deze bewerken
degene die er zo uitziet:

<Directory “/var/www/html”>

Niet:

<Directory />

Herstart Apache vervolgens met:

sudo-service httpd opnieuw opstarten

OPMERKING – in mijn vermoeidheid heb ik een ander Directory-element gewijzigd en het maakte geen verschil, dus zorg ervoor dat je het doet voor /var/www/html

In het artikel wordt ook uitgelegd hoe u kunt controleren of mod-rewrite is ingeschakeld.


19

Alleen wijziging .Htaccess:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

Other episodes