大家好 :
當我輸入網址內容
http://www.linrpt.tw/news_info/t/%E5%AE%89%E7%A5%96%E5%85%88%E7%89%8C%E4%BD%8D/
就出現404 bad request
想請問我哪裡還有設定錯誤,還是正規表示式內容有誤?
這是.htaccess檔案內的內容
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule /t/(.*)/ news_info.php?t=$1
</IfModule>
這是我原網址的內容
http://www.linrpt.tw/news_info.php?t=%E5%AE%89%E7%A5%96%E5%85%88%E7%89%8C%E4%BD%8D
想轉成....
http://www.linrpt.tw/news_info/t/%E5%AE%89%E7%A5%96%E5%85%88%E7%89%8C%E4%BD%8D/
Server上的設定我都有先設定好了,例如...
AllowOverride None 改成 AllowOverride All
rewrite模組有開起來了
作業系統是 CentOS6.5
謝謝大家~
把第三行去掉,第四行改為
<pre class="c" name="code">RewriteRule /news_info/t/(.*)/ /news_info.php?t=$1
另外我還有問題...我有把url rewrite語法修正成您的,但是問題是...若我把語法放在.htaccess的話是無法執行rewrite功能....但是若我放在<VirtualHost></VirtualHost>內...就會正常執行...是說我的.htaccess哪裡有誤...
.htaccess編碼是ANSI as UTF-8 (我用NOTE++改的)
若我放在<virtualHost></virtualHost>內語法可以正常執行,我放在.htaccess就沒辦法正常執行。目前我是把rewrite語法放在<virtualHost></virtualHost>內。
[
http://www.linrpt.tw/news_info/t/%E6%99%AE%E5%B7%B4%E9%87%91%E5%89%9B%E9%99%A4%E9%9A%9C%E9%A6%99%E5%8C%85/
](<br />
http://www.linrpt.tw/news_info/t/%E6%99%AE%E5%B7%B4%E9%87%91%E5%89%9B%E9%99%A4%E9%9A%9C%E9%A6%99%E5%8C%85/<br />
)
AllowOverride All
這個指令要放在 <virtualHost></virtualHost>內,並且是 document_root 的目錄中 ( <Document> 或 <Location>),才會有作用。
您好 :
我的設定是長這樣...還是無法讀取.htaccess檔案...
<pre class="c" name="code">
<VirtualHost *:80>
ServerName www.linrpt.tw
DocumentRoot /目錄1/目錄2/目錄3
AccessFileName .htaccess
<Directory "/目錄1/目錄2/目錄3">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>