2011-11-15 45 views
0

我有這樣一個URL:/pages/join.php,我需要通過的.htaccess重寫這樣的:/加入的.htaccess清潔URL與一捻

我這樣做,只是用以下罰款:

RewriteRule ^join$ /pages/join.php [L] 

但我也想確保,如果用戶或蜘蛛試圖直接訪問/pages/join.php,它將被強制:/加入讓任何人都不應看到過/頁/加盟。 PHP在他們的瀏覽器。這怎麼可能?

回答

0

被更新(再次):

RewriteCond %{REQUEST_URI} ^/join$ 
RewriteRule .* /join.php?_internal [QSA,L] 

RewriteCond %{QUERY_STRING} !_internal 
RewriteCond %{REQUEST_URI} /join.php 
RewriteRule .* /page_not_found.php [L] 

另一個(更安全)選項將它添加到您的join.php文件的頂部:

<?php 
if ($_SERVER['REQUEST_URI'] == '/join.php') die('NO DIRECT ACCESS!'); 
+0

不工作。它強制URL改變,但頁面不加載。該文件本身位於:/pages/join.php 此外,我只希望這工作在聯接頁面上,而不是頁面文件夾中的所有頁面。 – liquidgraph

+0

您還需要其他規則... – landons

+0

不起作用。錯誤:「頁面重定向不正確」。我猜你不能像這樣創建一個重定向循環。 – liquidgraph