Przepisz ciąg znaków za pomocą .htaccess

Próbuję przepisać URL dla celów SEO.

Stary adres URL to:

http://www.domain.net/index.php?p=beer

Nowy adres URL powinien być:

http://www.domain.net/beer

Mój kod w .htaccess to:

RewriteRule ^([^/\.]+)/?$ index.php?p=$1

Nawet po wielu godzinach badań nie mam pojęcia, dlaczego to nie działa :(

Oto kompletny .htaccess:

RewriteEngine on 
RewriteCond %{HTTP_USER_AGENT} Teoma
RewriteRule ^.* - [F]
rewritecond %{HTTP_HOST} !^www\.domain\.net$ [NC]
rewriterule ^(.*)$ http://www\.domain\.net/$1 [R=301,L]

RewriteCond %{QUERY_STRING} ^p=uppic$
RewriteRule ^index\.php$ /? [L,R=301]

RewriteRule ^([^/\.]+)/?$ index.php?p=$1

# Pwd service

AuthType Basic
AuthName "Service"
AuthUserFile /xxxx/www/xxxxxx/xxxxx/xxxxxx/.htpasswd


<Files admin.php>
Require user xxxxxxx
</Files>

Options -Indexes

Z góry dziękuję!

Moje ostatnie pytanie do tego kodu to:

RewriteRule ^([^/\.]+)/?$ index.php?p=$1

Działa:

http://www.domain.net/beer

a piwo odnosi się do tej strony:

http://www.domain.net/index.php?p=beer

Który jest świetny! Ale jeśli postawię / za piwem, np .:

http://www.domain.net/beer/

mój plik beer.php działa na innej ścieżce, więc nie zawiera css, obrazów, js i tak dalej. Wszelkie pomysły, jak to naprawić bez zmiany kodu HTMLhttp://www.domain.net/style.css ...?

questionAnswers(2)

yourAnswerToTheQuestion