我正在嘗試爲SEO目的重寫一個URL。使用.htaccess查詢字符串重寫
舊網址是:
http://www.domain.net/index.php?p=beer
新的URL應該是:
http://www.domain.net/beer
我在.htaccess代碼是:
RewriteRule ^([^/\.]+)/?$ index.php?p=$1
即使研究小時後,我不知道爲什麼這不起作用:(
這裏是完整的.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
在此先感謝!
我這個代碼最後的問題是:
RewriteRule ^([^/\.]+)/?$ index.php?p=$1
使得工作:
http://www.domain.net/beer
和啤酒指的是頁面:
http://www.domain.net/index.php?p=beer
這是偉大的!但是,如果我把一個/後面的啤酒,例如:
http://www.domain.net/beer/
我beer.php文件運行在另一條路徑,所以沒有CSS,圖片,JS等是包括在內。任何想法如何解決這個問題,而不需要更改html到http://www.domain.net/style.css ...?
兩者都不起作用。 – user2133694 2013-03-04 23:33:55
這與所要求的相反。 – progammingaddict 2014-12-18 01:51:06