Ben Joomla 1.5.9 php 5.2.8 ile çalışan bir vista 64 dev kutusunda IIS7 üzerinde MySQL 5.1.31 var. Ben hem SEO Ayarları "Arama Motoru Dostu URL'ler" ve "Apache mod_rewrite kullan" doğru çalışıyor.Joomla Search Engine Kolay URL'ler sorunu IIS7 üzerinde
Ayrıca barındırılan bir site kuruyorum (www.mochahosting.com ile). Aynı yazılımın biraz eski versiyonlarını kullanmaktadırlar: Joomla 1.5.5, php 5.2.6, mySQL 5.0.4x. Ayrıca, IIS7'yi kullanırlar, ancak Windows 32'de çalışırlar.
üzerinde barındırılan sitede çalışmak için SEO ayarlarından hiçbirini alamıyorum (yerel ayarlarımda çalışmam için SEO ayarlarını aldım) aynı yapılandırma). Sadece işleri basitleştirmek için "Arama Motoru Dostu URL'ler" ile başlayalım.
Ayrıca, henüz bir etki alanı adına sahip değilim, bu yüzden siteye erişmek için bir ana bilgisayar takma adı kullanıyorum. Kimsenin bu soruna cevap vermek için bu belaya girmesini beklemiyorum, bu yüzden sadece konuyu anlatacağım ve insanların neler olup bittiğini anlayabilecek yeterince iyi bir iş yapmasını umuyorum. Bu sorunun amacı için http://nodomainyet.com/joomla156_mx temel URL (diğer bir deyişle, joomla giriş sayfası) olarak kullanacağım. Evet, bu Joomla'nın bir alt dizine kurulduğunu ima ediyor - bu bir sorun olup olmadığından emin değilim (bu benim dev kutusunda bir sorun değil).
Sorun hakkında.
"Arama Motoru Dostu URL'leri" açma, bir 404 ("Bileşen bulunamadı") oluşturmak için http://nodomainyet.com/joomla156_mx neden olur. 404 hata sayfasında http://nodomainyet.com/joomla156_mx/index.php'a giden bir bağlantı var - ve bu link çalışıyor. "Arama Motoru Dostu URL’leri" kapatırsam hem http://nodomainyet.com/joomla156_mx hem de http://nodomainyet.com/joomla156_mx/index.php çalışır. Demek ki ben (çeşitli ana menü bağlantılara gidebilirsiniz http://nodomainyet.com/joomla156_mx/index.php ve oradan giderseniz "Motoru Dostu URL'ler Ara" açarak, Şimdi durmasına http://nodomainyet.com/joomla156_mx/index.php için http://nodomainyet.com/joomla156_mx arasında "otomatik yönlendiriliyor" ...
neden olduğunu görünüyor Sadece yeni bir Joomla örneğiyle yüklenen varsayılan joomla sitesini kullanıyorum), o zaman her şey iyi çalışıyor. Sadece işe yaramayan http://nodomainyet.com/joomla156_mx'a gidiyor. Ana menüdeki "ev" bağlantısının varsayılan olarak http://nodomainyet.com/joomla156_mx'a gittiğine dikkat etmek gerekir. "Kullan - İkinci SEO ayarın açılması benim dev kutusunun buna ana bilgisayarda phpinfo çıkışını karşılaştırıldığında ettik ve bu soruna neden olur bir farklılık göremedim
...
Apache mod_rewrite "- sorunu çözmüyor (bu ayarın amacının, URL’de index.php’ten kurtulmak olduğu için olabilir).
Çalışmak için "Arama Motoru Dostu URL'ler" genellikle çok önemsiz görünüyor - bir web.config gerektirmez ve kuralları yeniden yazma ... Bunun yanlış gitmesine neden olabilir emin değilim.
Güncelleme - 2009-03-03 Ben sadece ("Kullanım Apache mod_rewrite ilk SEO ayarı ("Arama Motoru Dostu URL'ler") açmak için kötü bir fikir olduğunu düşünmüştüm
") (" Kendi Aracımdaki "Arama Motoru Dostu URL'leri" başlatabilirsem de iyi çalışıyor). Bu yüzden, birkaç tane daha denemeler denedim
Belki de sorun, URL yeniden yazımının ana bilgisayardaki IIS7'de düzgün şekilde ayarlanmamış olmasıydı. http://learn.iis.net/page.aspx/461/creating-rewrite-rules-for-the-url-rewrite-module'da açıklanan (ilk) test dosyasını yaptım ve işe yaradı - böylece URL yeniden yazmanın çalıştığı anlamına geliyor.
O zaman belki de sorun şu ki, IIS7'deki Joomla'nın her yerde gördüğü yeniden yazma kurallarının alt dizini göz önünde bulundurmak için yeniden yazılması gerekiyor. Yukarıda söylediğim gibi, SEO ayarları yerel makinemde iyi çalışıyor. Joomla ayrıca bir alt dizine kurulur ve her şey iyi çalışıyor. Yine de,
<rewrite>
<rules>
<rule name="Imported Rule 1" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
<add input="{SCRIPT_NAME}" negate="true" pattern="^/joomla156mx/index.php" ignoreCase="false" />
<add input="{SCRIPT_NAME}" pattern="(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$" />
</conditions>
<action type="Rewrite" url="joomla156mx/index.php" />
</rule>
</rules>
</rewrite>
için
<rewrite>
<rules>
<rule name="Imported Rule 1" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" pattern="" ignoreCase="false" />
<add input="{SCRIPT_NAME}" negate="true" pattern="^/index.php" ignoreCase="false" />
<add input="{SCRIPT_NAME}" pattern="(/|\.php|\.html|\.htm|\.feed|\.pdf|\.raw|/[^.]*)$" />
</conditions>
<action type="Rewrite" url="index.php" />
</rule>
</rules>
</rewrite>
gelen yazma kuralı değiştirmeye çalıştı (yani, durumuna ve harekete dizin adını prepending). Bu bir fark yaratmadı. Şimdi, kuralları yeniden yazmak için tamamen yeniyim, bu yüzden bir şeyleri mahvedebilirim.
Sanırım hiçbir yönlendirme kuralı olmaması şüpheli buluyorum; &'u 'yeniden yazılan' bir URL'ye yapıştırırsam anlam ifade eder, bir şey yapmaz bir URL olan sunucuya söylemek zorunda değilsiniz ve gerçek bir URL'ye yönlendirilmeli midir? Ama yine de, bu benim yerel kutuda düz eski yeniden yazma kuralları ile çalışıyor, bu yüzden yanlış ağacın havlaması olabilir.
Yardımın için teşekkürler!
Cevabınız için teşekkürler. Ancak, yerel makinemde ve barındırılan sitede de benzer talimatlar zaten takip ettim; Yerel makinemde çalışıyor ancak barındırılan site çalışmıyor ... Bu yüzden barındırılan sitede nasıl teşhis edileceğine dair biraz daha fazla ayrıntıya ihtiyacım var. – Jimmy