2012-05-14 4 views
1

Я схожу с ума. Я буквально пробовал каждое предложение на этих досках, которые я мог найти.Centos 6 MOD_REWRITE не работает

У меня есть простой URL:

www.somedomain.com/!/profile.php?id=1234567 

У меня есть это в файле .htaccess:

<IfModule mod_rewrite.c> 
    Options +FollowSymlinks 
    RewriteEngine On 
    RewriteRule ^([a-zA-Z0-9]+)(/?)$ profile.php?id=$1 [QSA,L] 
</IfModule> 

Я не понимаю, почему это не переписывание в somedomain.com/!/1234567.

+0

... Является ли это в '/' директории!? –

+0

yes profile.php is in!/ – Wes

ответ

0

Чтобы сделать именно то, что вы хотите в вашем вопросе, т.е. в .htacess файл в каталоге /!/Каталог потребуется следующее

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^[a-zA-Z0-9]+[.]php$ %1 [L] 

Если вы можете, его лучше не использовать .htaccess файлы, так как ему влияет на производительность. Вы можете поместить что-то в VirtualHost следующим образом:

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^/!/[a-zA-Z0-9]+[.]php$ %1 [L] 

или если вы хотите сделать что-то с именем файла и путь:

RewriteCond %{QUERY_STRING} ^id=([0-9]+)$ 
RewriteRule ^(/!/[a-zA-Z0-9]+)[.]php$ $0/%1 [L] 
+0

Теперь я получаю ошибку 404, если я иду по этой ссылке? – Wes

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