Проблем с RewriteRule

misho

Registered
Преди време питах за две неща:
- как да направя proba.php?ime=*** в proba/***
- как да реша проблема с липсващата наклонена черта накрая

Резултата е този код, който работи без проблеми (не съвсем):
Код:
Options +FollowSymLinks -Indexes -MultiViews
RewriteEngine On
RewriteBase /

#Добавя наклонена черта
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ /$1/ [L,R=301]

#Променя адресите
RewriteRule ^magazine/(.*)$ magazine.php?broi=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1.php [L]
Сега обаче забелязах следния проблем: след някои адреси се добавя 10-20 пъти .php и накрая наклонена черта. :lol: Сложих една картинка в сайта, но тя не се показа. Реших да напиша адреса и в браузъра и от read.gif се превръща в read.gif.php.php.php.php/
Как се решава този проблем?
 
За липсващата черта защо просто не добавиш...
RewriteRule ^magazine/(.*)$ magazine.php?broi=$1 [L]
RewriteRule ^magazine(.*)$ magazine.php?broi=$1 [L]
т.е. два еднакви реда... единия с, другия без черта... така както и да го напишат ще прави едно и също...
 
Здравей, може би това няма да ти помогне много в изучаването на особеностите на mod_rewrite, но виж този сайт:

http://www.generateit.net/mod-rewrite/

Предполагам, че ще ти свърши работа. :)
 
crazy_pi4 каза:
За липсващата черта защо просто не добавиш...
RewriteRule ^magazine/(.*)$ magazine.php?broi=$1 [L]
RewriteRule ^magazine(.*)$ magazine.php?broi=$1 [L]
т.е. два еднакви реда... единия с, другия без черта... така както и да го напишат ще прави едно и също...
Защото така не ми отваря страницата magazine.php, ако напиша magazine или magazine/. А иначе една поправка:
Проблеа се получава, само когато напиша несъществуващ адрес (просто съм сбъркал малко имато на картинката). По така, ако объркам адреса, вместо страницата за грешка, ми се зарежда адреса с хилядите .php
 

Back
Горе