2013-11-21 2 views
1

я не могу найти ответ на другие вопросы здесь, в StackOverflow .. mod_rewrites генератор неудовлетворительную, так что я не знаю, как это сделать ..Mod_rewrite для URL с?

У меня есть, что URLs: http://example.com/?index&category=football

футбол являются динамическим генератором php, поэтому существует много категорий. Итак, я хочу, чтобы мой URL-адрес выглядел следующим образом: http://example.com/football

Как это сделать с помощью mod_rewrite? Большое вам спасибо!

+0

Вы можете разместить свой код mod_rewrite (.htaccess файл) – Vincent

ответ

0

Try:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \ /+\?index&category=([^&\ ]+) 
RewriteRule^/%1? [L,R=301] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)$ /?index&category=$1 [L,QSA] 
0

Это должно делает URL-адрес http://example.com/football работает, как если бы http://example.com/?index&category=football использовали:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^/?([^/$]*) /?index&category=$1 [L] 

Линия 2 до 5 (от RewriteCond %{REQUEST_FILENAME} -s до RewriteRule ^.*$ - [NC,L]) не является обязательными:. Они делают любой существующий файл с именем, как название категории (например, футбол) обслуживается непосредственно (не используя /? индекс & категория = ...).

1
RewriteEngine on 
    RewriteRule ^/([a-zA-Z0-9]+)$ /index.php?category=$1 
    #RewriteRule ^/([a-zA-Z0-9]+)/$ /index.php?category=$1 
Смежные вопросы