2011-10-20 46 views
2

我有一個網站,運行Linux + Apache。更改文件的URL而不實際移動它

我在我的根目錄下有一個文件,比方說file.php。 我希望該文件的URL爲「domain.com/newdir/file.php」,但我不想實際創建newdir並將文件移動到那裏,因爲更新許多鏈接會是一個巨大的麻煩遍佈我的網站。 有沒有辦法做到這一點,這意味着通過新的URL訪問文件而不移動它?

謝謝。

+0

你可以使用.htaccess –

+0

[mod_rewrite](http://httpd.apache.org/docs/current/mod/mod_rewrite.html)? – Vlad

+2

符號鏈接呢? – Ryan

回答

0

在這個網站:workwith.me,你可以找到關於.htaccess和mod_rewrite的信息。對於你的例子,你必須創建一個名爲.htaccess的文件並將其放在根目錄中。該文件應包含這些指令:

RewriteEngine on 
RewriteRule ^newdir/file.php$ /file.php [L] 

你可以爲你想重命名每個文件做到這一點。

0

四種可能的解決方案,我能想到的:

  1. 如果您的操作系統支持的話,創建符號鏈接:

    mkdir /home/foo/htdocs/newdir 
    ln -s /home/foo/htdocs/file.php home/foo/htdocs/newdir/file.php 
    

    ...,並確保Apache是​​configured to follow them

    Options FollowSymLinks 
    
  2. 創建一個AliasAliasMatch(probabl Ÿ矯枉過正)

  3. 好老mod_rewrite

    RewriteEngine One 
    RewriteRule ^newdir/file\.php$ file.php [L] 
    
  4. 醜:使用與PHP腳本來檢查$_SERVER['REQUEST_URI']一個custom 404 error page

我猜標準解決方案是#1和#3。

相關問題