2009-05-22 7 views
0

Я перенес свой веб-сайт со старого сервера на общий сервер.Как использовать mod rewrite

Весь мой код находится в "lfdata/main/com" под "public_html" на общем сервере.

Чистый URL будет выглядеть следующим образом:

http://ip-address/~name/how

и переписаны URL должен быть:

http://ip-address/~name/lfdata/main/com/how.php

Так кто может предложить правила перезаписи для создания выше URL?

ответ

0

это сделает ваш рерайт, включая строку запроса PARAMS

RewriteRule ^~name/how(.*)$ ~name/lfdata/main/com/how.php$1 
+0

Запрос не может быть сопоставлен с директивой RewriteRule. Это возможно только с директивой RewriteCond. – Gumbo

2

Попробуйте это правило:

RewriteCond %{REQUEST_URI} !^/~[^/]+/lfdata/main/com/ 
RewriteRule ^(~[^/]+)/(.+) $1/lfdata/main/com/$2.php [L] 

Это будет переписать любой запрос /~name/foobar внутренне /~name/lfdata/main/com/foobar.php.

+0

+1. Не забывайте о QSA, я думаю, что это тоже желательно. – Tomalak

+0

QSA не требуется, если вы не изменяете запрос. – Gumbo

+0

Я пробовал выше, но он не работает? Могу ли я вставить файл .htaccess здесь? – 2009-05-23 05:28:51