尝试了几种网络解决方案,bud并不适合我。因此,这是我的情况,如果有人能帮助我,我会很高兴。重写mod无法正常工作
这是我的httpd.conf文件主要信息的问题:
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory "/var/www/html">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
这是我的.htaccess信息:
Options +FollowSymLinks
RewriteEngine On
RewriteRule ^blog([^/]*)/([^/]*)$ /post.php?bID=$1&title=$2 [L]
的目标是改写
来自:www.site.com/post.php?bID=7&title=blog-title
至:www.site.com/blog7/blog-title
How永远不工作(页面正常加载,但网址未被修改)!我通过http://www.generateit.net/mod-rewrite/index.php生成了重写规则,所以它应该没问题。
奇怪的是,虽然尝试其他规则,如隐藏PHP扩展它工作正常,所以.htaccess规则显然工作。
## hide .php extension
# To externally redirect /dir/foo.php to /dir/foo
RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s([^.]+)\.php [NC]
RewriteRule^%1 [R=302,L]
# To internally forward /dir/foo to /dir/foo.php
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*?)/?$ $1.php [L]
有没有人有任何猜测?
你说的这句话的意思是“不工作”?你有什么样的错误?在apache error.log中发生了什么? –
btw,http://htaccess.madewithlove.be/是测试的好地方.htaccess –
感谢您的提示! @ hjpotter92答案为我工作 – czmarc