嘗試了幾種網絡解決方案,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