2011-11-29 92 views
2

我安裝了XAMPP,我在本地主機上運行了所有內容/ 所以想象我有localhost/website/index.php或www.website.com/index.php;更改URL PHP jQuery或mod_rewrite

如何刪除index.php和/或用類似的東西替換它; localhost/website/:)或www.website.com/ :)

或顯示它喜歡; localhost/website或www.website.com

示例;

$URLcapture = $_SERVER['PHP_SELF']; 
$URLcustom = ":)"; 

$_SERVER['PHP_SELF'] = $URLcustom; 
echo $_SERVER['PHP_SELF']; 

這顯示:)當然,但我怎麼能得到:)在我的網址?

謝謝 F4LLCON

編輯

下加載的模塊,我可以看到的mod_rewrite。

之前的一切步驟 - 開始 - 在httpd.conf中我刪除了;

# from infront of LoadModule rewrite_module modules/mod_rewrite. 

改變;

<Directory /> 
    Options FollowSymLinks 
    AllowOverride All 
    Order deny,allow 
    Deny from all 
</Directory> 

<Directory "C:/xampp/cgi-bin"> 
    AllowOverride All 
    Options +FollowSymLinks 
    Order allow,deny 
    Allow from all 
</Directory> 

步驟之前的一切 - 完 -

在.htaccess我已經添加

RewriteEngine On 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 

,也試過

RewriteEngine On 
RewriteBase/
RewriteRule index.php nieuw.php 

我在做什麼錯?

EDIT 2

不接觸的.htaccess在所有的工作。 1.關閉xampp和apache。

  1. 在C:\ xampp \ apache \ conf中編輯httpd.conf;

2a從上述步驟開始;

2A步驟之前的一切 - START - 直到

2A步驟之前的一切 - END -

2b中。在http的結尾添加。CONF;

<IfModule mod_rewrite.c> 
RewriteEngine on 
RewriteRule ^/home$ /spiderweb/Web-projects/Web-stage/Nieuwidw/index.php 
RewriteRule ^/link$ /spiderweb/Web-projects/Web-stage/Nieuwidw/link.php 
RewriteRule ^/contact$ /spiderweb/Web-projects/Web-stage/Nieuwidw/contact.html 
RewriteRule ^/about$ /spiderweb/Web-projects/Web-stage/Nieuwidw/about.html 
</IfModule> 
  1. 啓動XAMPP/Apache和輸入localhost /家

3A。該網站將打開,但佈局不存在。所以它不加載style.css

3b。 .css在;

3b。 C:\ xampp \ htdocs \ spiderweb \ Web-projects \ Web-stage \ Nieuwidw \包括

3c。圖像在;

3c。 C:\ XAMPP \ htdocs中\蜘蛛網\ WEB-項目\ WEB-階段\ Nieuwidw \包括\圖像

下一頁

  1. 在家裏,你可以看到 「更多」 按鈕,每一個產品下,如果按更多的你會被重定向到link.php中的產品頁面,但是每個產品都會在URL中獲得它自己的ID;

4a。 http://localhost/link.php?id=126使頁面顯示出來;找不到,因爲URL不同

如何解決這些問題?

+1

當你重新啓動你的http服務器(你使用哪一個?)當mod_rewrite加載時,什麼被添加到日誌?任何錯誤? – ManseUK

+0

一個不是,當我在C:\ xampp中搜索.htaccess時,它找到了19個.htaccess文件。我剛剛編輯了C:\ xampp \ htdocs \ xampp中的一個。那是正確的嗎?我在哪裏可以找到日誌?沒有錯誤顯示在頁面上只加載相同的link.php在URL – MOTIVECODEX

+0

@ManseUK我需要在我的xampp(本地主機)文件夾中編輯.htaccess或在我的網站文件夾中創建.htaccess文件? – MOTIVECODEX

回答

2

在PHP中:

header("Location: http://www.example.com/"); 

但是,最好的方法是使用htaccess(就像ManseUK說的)

+0

如果我添加標題(「位置:http:// localhost/spiderweb/Web-projects/Web-stage/Nieuwidw /」);在我的PHP文件中,並嘗試在我的瀏覽器中加載它,瀏覽器給我找不到頁面。它會重定向到http:// localhost/spiderweb/Web-projects/Web-stage/Nieuwidw /當然 – MOTIVECODEX

1

如果你能這樣做,這是使用mod_rewrite的最佳方式 - 你再有類似下面的規則和index.php文件是隱藏

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(.*)$ index.php?/$1 [L] 
+0

中刪除index.php謝謝,我已經嘗試了一些關於該教程的教程,但它不會改變任何內容。有沒有其他方法? – MOTIVECODEX

+1

@ F4LLCON當您在服務器上運行'phpinfo()'時,是否啓用了mod_rewrite模塊?你在日誌中看到什麼? – ManseUK

+0

我編輯了我的帖子 – MOTIVECODEX