0
以下是我的目錄結構。.htaccess兩頁之間的重定向衝突
|--inc (folder)
|-->header.php
|-->footer.php
|--css (folder)
|--js (folder)
|--images (folder)
|--index.php
|--product.php
|--items.php
php的文件index.php
,product.php
,items.php
全部使用,包括在inc
文件夾
現在我用我的.htaccess使用重定向像我想的一些文件重定向到product.php
文件ANS一些文件item.php
。
第一種方法
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^([A-Za-z0-9-]+)$ ./product.php?fd=$1 [L,NC,QSA]
RewriteRule deal/([A-Za-z0-9-]+)$ ./item.php?id=$1&id2=$2 [L,NC,QSA]
</IfModule>
在這種方法中的內容(CSS,JS,圖像,.php文件)也重定向和更改/交易/ CSS或/交易/圖片等鏈接在我item.php
文件但沒有文件夾名稱deal
。我剛添加deal
兩個重定向
第二條本辦法
之間移除衝突<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
# first try to see if belongs to item.php based on URI pattern
RewriteRule ^([a-z0-9-]+)/([a-z0-9-]+)$ ./item.php?idd=$1&id=$2 [L,NC,QSA]
# No try /j/display.php
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([a-z0-9-]+)$ ./product.php?fd=$1 [L,NC,QSA]
</IfModule>
這段代碼也有同樣的問題
PLZ幫助!任何幫助表示讚賞..
謝謝你回答我的問題,但你可以請詳細說明這一點?我對所有這些東西都很陌生。 – Anonymous
並且由於以下警告我無法給出絕對路徑 **警告**:include():在服務器配置中,通過allow_url_include = 0禁用了http://封裝器:C:\ xampp \ htdocs \ shop \ item.php on line 2 警告:include(http://localhost/shop/admin/qconnect.php):未能打開流:在C:\ xampp \ htdocs \ shop \ item中找不到合適的包裝.php on line 2 **警告:** include():打開'http://localhost/shop/admin/qconnect.php'失敗(include_path ='。; \ xampp \ php \ PEAR')。在第2行的C:\ xampp \ htdocs \ shop \ item.php中 – Anonymous
@Anonymous當你轉到一個類似於'/ deal/abcd1234'的URL,並且在頁面的內容中有一個這樣的URI:''。瀏覽器必須「猜測」URL的基礎是什麼,並且通過查看位置欄中的URL(瀏覽器對服務器上的重寫或內容實際所在的位置完全無能爲力)來做到這一點,並且它看到了「/ deal」 /',所以它將它作爲URL基礎,並將其附加到內容中的所有相對URL **,使其看起來像:'/ deal/images/1.pmg' –