[英]Placing .htaccess file in var/www folder messes my website up
我現在正在使用mod_rewrite,並已成功啟用它。
但是,我需要在var / www /中放入一個htaccess文件才能實現我想要的功能,即簡單地重命名Urls。當我放置它時,我的網站變得非常奇怪,並且基本上沒有任何作用...
我需要將任何代碼放入htaccess文件中以便正常運行嗎?
這是我到目前為止擁有的htaccess文件:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/ad\.php
RewriteRule ^(.*)$ ad.php?ad_id=$1 [L]
我的DocumentRoot也設置為var / www /,我的整個網站根目錄都在那里...(index.html等)。
我對htaccess缺少什么?
如果您需要更多輸入,請告訴我...
我懷疑您的css文件,js或圖像均未加載。 此外,您的任何鏈接均無效。 如果是這樣,問題可能出在RewriteRule中,基本上是因為該規則告訴apache將所有請求傳遞給ad.php
您需要微調RewriteRule,以便僅廣告鏈接受規則影響。
首先,通過像這樣擴展RewriteRule:
Options +FollowSymLinks
Options +Indexes
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_URI} !^/ad\.php
RewriteRule ^(.*)$ ad.php?ad_id=$1 [L]
我添加的這三行代碼告訴apache僅在請求的文件名不是目錄,現有文件或符號鏈接時才應用該規則-這應注意靜態內容,例如css和圖像。 如果您指向鏈接的其他頁面也實際位於服務器的硬盤上(純HTML或php文件),則應重新開始工作。
但是,正如我已經對您的問題 ( 小的mod_rewrite問題 )說的那樣,您需要微調該規則,以便該規則僅滿足廣告,而沒有其他條件。
這不是一個完整的答案,但是它將為您提供更多可以幫助您的信息。
Options +FollowSymLinks -Indexes
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.