可能重复:
Url Rewriting Help
如何以/index.php?p=2
结尾显示为/2
,而不是.htaccess
(漂亮的网址)?
我目前正在使用webcomic显示网站,但我遇到了.htaccess
文件的问题。我正在尝试将/index.php?p=2
重写为/2
但由于某种原因它无法正常工作。
所以,任何帮助都会非常感激!
答案 0 :(得分:2)
.htaccess
无法将/index.php?p=2
重写为/2
。 您正在反过来解决问题。
重写规则告诉Apache在获取特定URI时执行某些操作。你真正需要做的是告诉Apache“重写”对/2
的请求,以便它取代/index.php?p=2
。您可以使用以下RewriteRule
:
RewriteRule ^([0-9]+)$ index.php?p=$1 [L]
然后在HTML中将每个链接更改为指向重写的URI而不是规范的URI。 Apache不会为您“重写”您的链接。但是,在上述规则的帮助下,当客户端查询/2
时,将获取适当的资源。
答案 1 :(得分:0)
创建一个与此类似的.htaccess文件...(每个mod重写标记文档可能需要修改/更改标记:http://httpd.apache.org/docs/2.3/rewrite/flags.html)
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteRule ^([A-Za-z_0-9-]+)/?$ index.php?p=$1 [QSA,L]