2013-02-21 210 views
0

重寫我一個問題關於的.htaccess短URL(重定向)

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}\.php -f 
RewriteRule ^(.*)$ $1.php 

我的想法:

http://redir.com/? to execute redir.php 
http://redir.com or http://redir.com/ to execute index.php 

如何使htaccess的?

TNX

+0

是否希望包含'#blah'網址哈希值?這是不可能的,因爲這不是從客戶端發送到服務器。或者你只是想用查詢字符串'?...'重定向到redir.php和根請求到index.php?請澄清。 – 2013-02-21 16:11:48

+0

是的,te散列是必要的,我的重定向是在javascript-php散列基礎上,我需要從de索引分隔redir部分?焦炭。 – Maxpower 2013-02-21 16:23:11

+0

我仍然對你想要做的事感到困惑。 'http://redir.com/?#blah執行redir.php' **?**'http://redir.com或http://redir.com/執行index.php' **索引。當您訪問http://redir.com或http://redir.com/**時,php已經自動執行。根據您的重寫規則,它看起來像在嘗試訪問相同的URL但未使用擴展名時嘗試執行php文件。例如'http:// redir.com/test'來執行'http:// redir.com/test.php' – kjetilh 2013-02-21 17:43:50

回答

0

以下重寫規則將改寫http://redir.com?blahhttp://redir.com/test.php

這意味着http://redir.com/test.php將訪問http://redir.com只有時,如果查詢字符串?blah設置執行,而不是正常http://redir.com/index.php

<IfModule mod_rewrite.c> 

RewriteEngine on 

RewriteCond %{QUERY_STRING} ^blah$ 
RewriteRule ^index.php$ test.php [L,NC,QSA] 

</IfModule> 
+0

http://redir.com /?blah => execute => test.php和 http://redir.com/=>執行=> index.php(不受影響) ???????????????? – Maxpower 2013-02-21 19:18:28

+0

是的 – kjetilh 2013-02-21 19:41:12