merhaba vps sunucumda wordpress yüklü site barındırıyorum. bu sitede anasayfa açılıyor fakat bir yazıya tıkladığımda 404 hatası alıyorum. wordpressde kalıcı bağlantı olarak yazı ismi seçili. böyle olunca siteadi.com/yazi şeklinde olduğunda vps yazi isimli dosya arıyor ve bulamayınca 404 hatası veriyor. bu sorunu nasıl çözebilirim? sunucuda Apache2 kurulu.
Merhaba,
Bu sorunun en büyük sebeplerinden biri izin hatasıdır genellikle. İlk önce .htaccess dosya iznini bir kontrol edin izin verdiğiniz halde olmuyorsa() hizmet aldığınız kuruma başvurmanızı tavsiye ederim. Diğer bir ihtimal ise mod_rewrite(yeniden yazma) modülünün kapalı olmasından olabilir. Siz en güzeli servis aldığınız yere başvurun zira servisin izin vermediği ama zorla yapılmaya çalışılan şeyler sistemi daha da karmaşık hale getirebilir.
servis aldığım biryer yok kendi vpsimde kendi sitelerimi barındırıyorum. .htaccess dosyasıda varsayılan wordpress ayarları;
# 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
Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 27 Ağustos 2015 - 16:50:57
mod_rewrite modu kapalıymış. açtım fakat düzelmedi.
Apache'ye ait default dosyası ya da siten için oluşturduğun yapılandırma dosyasını bir geçer misin buraya?
sanırım bahsettiğiniz sites-enabled klasöründe oluşturduğum .conf dosyaları.
kullandığım conf dosyası zaten apache'nin bana verdiği default dosyası. ona site adını ve dosya yolunu yazdım sadece.
""
<VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost ServerName raspi2.com ServerAlias raspi2.com DocumentRoot /var/www/html/raspi2.com # Available loglevels: trace8, ., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf</VirtualHost># vim: syntax=apache ts=4 sw=4 sts=4 sr noet""
Merhabalar,
Ben Local'de çalışıyorum aynı sorun bendede var şu şekilde çözebildim: [/index.php/%category%/%postname%] yani en başa /index.php yazdım.
ama bu seferde hangi sayfayı açsam şu şekilde gözüküyor: [http://localhost/wordpress/index.php/genel/merhaba-dunya] yani index.php gözüküyor adres çubuğunda.
Dosya düzensiz olduğu için bakmak zor ancak WP için ilgili Apache ayarı şöyle olmalı:
DocumentRoot /var/www
<Directory />
Options FollowSymLinks Indexes
AllowOverride All
</Directory>
Temadanda yapıyor, daha dogrusu function.php ye bakın ilk olarak temadaki