为什么以下htaccess文件在调用此URL时会产生300错误?
网址:hxxp://subdomain.domainame.com/keyworda/
IndexIgnore *
RewriteEngine on
RewriteRule ^([a-z]+)/$ /index.php?p=$1
错误日志: 300 hxxp://subdomain.domainame.com/keyworda(没有尾随斜杠)
答案 0 :(得分:1)
编辑,我试图保持我的答案简短,我不是故意要你准确添加这一行。这只是为了显示丢失的斜线应该去哪里。
RewriteRule ^/([a-z]+)/$ /index.php?p=
我假设您正在apache config目录中编辑.conf文件。 Chigley的答案是假设您正在编辑每个目录的.htaccess配置文件。
编辑您的conf文件,如下所示:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
RewriteRule ^/(test[a-z]+)/$ /index.php?id=$1 [L,R=301]
... your current stuff afterwords ...
</IfModule>
一旦它正常工作,这就是你在conf文件中使用的真正的RewriteRule:
RewriteRule ^/([a-z]+)/$ /index.php?id=$1 [L,R=301]
如果它不起作用,请编辑您的问题以包含完整代码 阻止和您的httpd版本,如下所示:
# httpd -v
Server version: Apache/1.3.33 (Darwin)
Server built: Mar 20 2005 15:08:27
可能没关系,但只是想......
这是mod_write documentation。最底层有一些例子。
答案 1 :(得分:0)
RewriteRule ^([^/]+)/?$ /index.php?p=$1
答案 2 :(得分:0)
尝试
RewriteRule ^([a-z]+)/?$ /index.php?p=$1 [L]