Bildirimler
Hepsini Temizle

IIS cgi üzerinde PHP rewrite yapma sorunu !!!  

  RSS
Oğuzhan Keten
(@OguzhanKeten)
Üye
Merhaba, apache serverda olan rewrite özelliğini  ben iis cgi kullanarak yapmak istiyorum.Fakat sitede menülere tıkladığımda 404 hatası alıyorum.
Aşağıdaki gibi .htaccess içerisindeki kodlar mevcut.IIS üzerinde yada php.ini dosyasında nasıl bir ayar yapmam gerekiyor?
 
RewriteEngine on
# ÜRÜNLER
 RewriteRule ^/?urunler/(.*)/(.*)$ ./products.php?kategori=$1&urun=$2&%{QUERY_STRING} [L]
 
Alıntı
Gönderildi : 14/12/2011 15:44
Hüseyin Sevin
(@huseyinsevin)
Üye

Web.config e aşağıdaki kodu yaz... URL Rewriting yüklü ve gerekli IIS bileşenleride yüklü olsun... Bu arada IIS sürümün ne?

 

http://www.iis.net/download/URLRewrite yüklü değilse burdan indirip yükleyebilirsin.

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^urunler/(.*)/(.*)$" ignoreCase="false" />
                    <action type="Rewrite" url="./products.php?kategori={R:1}&amp;urun={R:2}&amp;{QUERY_STRING}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
 

CevapAlıntı
Gönderildi : 14/12/2011 15:56
Oğuzhan Keten
(@OguzhanKeten)
Üye

IIS 7.5 sürümü kullanıyorum.

CevapAlıntı
Gönderildi : 14/12/2011 16:07
Oğuzhan Keten
(@OguzhanKeten)
Üye

Hüseyin hocam verdiğiniz cevapla sorunu hallettim.Birde .httcaccess dosyasında RewriteCond olan kısımla nasıl bir düzenleme yaparım?

# DİĞER

# Bulunamayan dosya ya da klasörlerde "sayfa bulunamadı" ekranına yönlendirme

 RewriteCond %{REQUEST_FILENAME} !-f

 RewriteCond %{REQUEST_FILENAME} !-d

 RewriteRule ^/?(.*)$ ./err404.php?url=$1 [L] 

CevapAlıntı
Gönderildi : 14/12/2011 16:40
Hüseyin Sevin
(@huseyinsevin)
Üye

O zaman web.config i tekrar şu şekilde düzenle.... Öncekilerini sil ve bunları kullan.

 

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="Imported Rule 1" stopProcessing="true">
                    <match url="^urunler/(.*)/(.*)$" ignoreCase="false" />
                    <action type="Rewrite" url="./products.php?kategori={R:1}&amp;urun={R:2}&amp;{QUERY_STRING}" appendQueryString="false" />
                </rule>
                <rule name="Imported Rule 2" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" ignoreCase="false" negate="true" />
                        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" ignoreCase="false" negate="true" />
                    </conditions>
                    <action type="Rewrite" url="./err404.php?url={R:1}" appendQueryString="false" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
 

CevapAlıntı
Gönderildi : 14/12/2011 16:58
Paylaş: