2013-03-01 3 views
-1

Это мой URL:.htaccess изменить строку запроса

localhost/myweb/home.php 

теперь я просто удалил расширение файла, используя этот код:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

и обратиться к этому:

localhost/myweb/home 

и все нормально работает.

Теперь я хочу, чтобы изменить этот URL:

localhost/myweb/home.php?str=tmprow 

к этому:

localhost/myweb/home/tmprow 
+0

Почему вы не можете сделать то же самое еще раз? –

+0

Что вы имеете в виду? как? – avien

ответ

1

Вы можете попробовать что-то вроде этого:

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)/?([^/]+)?/? $1.php?str=$2 [L,NC] 

Карты молча

http://localhost/myweb/par1 или

http://localhost/myweb/par1/par2 с или без пробелов

Кому:

http://localhost/myweb/par1.php или

http://localhost/myweb/par1.php?str=par2

Установите RewriteBase к /myweb, если это необходимо, в соответствии с фактической установкой и DocumentRoot.

Предполагается, что все строки являются переменными, а myweb предполагается фиксированным.

Для постоянного перенаправлении заменить [L,NC] с [R=301,L,NC]

Смежные вопросы