我正在尝试为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