URL-адреса mod_rewrite - PullRequest
       1

URL-адреса mod_rewrite

5 голосов
/ 11 сентября 2011

Я хочу переписать URL-адреса, поэтому, когда кто-то переходит на:

url.com/directory1/directory2 

Он видит URL-адрес в адресной строке браузера, но на самом деле следующий URL-адрес показывает текст

url.com/index.php/directory1/directory2 

В общем, URL url.com/directory1/directory2 переходит к url.com/index.php/directory1/directory2

Как я могу это сделать, используя .htaccess и / или mod_rewrite?Что за правило переписать для этого?

1 Ответ

4 голосов
/ 11 сентября 2011

В вашем файле .htacces используйте это:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)/(.*)(\/?)$ /index.php/$1/$2 [NC,QSA,L]

ИЛИ в вашем httpd.conf

<VirtualHost *:80>
    DocumentRoot "/var/www/"
    ServerName www.url.com   
    ServerAlias www.url.com
    <Directory /path/to/www/> 
        RewriteEngine on
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d 
        RewriteRule ^(.*)/(.*)(\/?)$ /index.php/$1/$2 [NC,QSA,L]
    </Directory>
</VirtualHost>

Если вы используете PHP:

$_SERVER['REQUEST_URI'] будет иметь /asd/asd

...