2013-08-16 130 views
0

我試圖做到這一點我的Apache2服務器上:特定的URL重寫情況

隨時輸入以下網址:

http://www.mydomain.com/first_location 

的mod_rewrite應該重定向到:

http://www.mydomain.com/first_location/first_location.php 

其中「first_location」可以是任何有效的文件夾名稱。

我已經能夠多收集這些:

RewriteRule ^[A-Za-z0-9-]/ ....... 

,但不知道如何處理這種情況的重定向URL的一部分。

欣賞任何幫助來完成替換部分(並且如果需要,還可以更正模式部分)。

回答

1

如果first_location是一個有效的文件夾,有一個名爲mod_dir的apache模塊,它會自動將瀏覽器重定向到同一個文件夾,但是以斜線結尾。因此,您可以通過使用DirectorySlash Off關閉mod_dir,或者允許重定向並僅匹配尾部斜槓。所以你想要的東西沿線:

RewriteEngine On 
# check that it's a valid folder 
RewriteCond %{REQUEST_FILENAME} -d 
# check that the php file actually exists: 
RewriteCond %{REQUEST_URI} ^/([^/]+)/$ 
RewriteCond %{REQUEST_FILENAME}%1.php -f 
# rewrite 
RewriteRule ^/?([^/]+)/$ /$1/$1.php [L] 
+0

謝謝。我應付並粘貼了一個新的.htaccess文件,但它給了我一個500錯誤。我檢查了Apache配置文件,並且mod_dir加載命令未註釋(如此活躍)。 – user1729972

+0

@ user1729972你需要檢查mod_rewrite是否被取消註釋 –

+0

哦,它當然是。 mod_rewrite適用於其他的東西,具體不是這個。 – user1729972