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 ...?