我正在尝试为 SEO 目的重写 URL。
旧网址是:
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 ... 的情况下解决这个问题吗?