2013-12-14 44 views
0

我試圖防止一個404錯誤和重定向使用mydomain.com/something的.htaccess試圖用斜線沒有重定向404錯誤

因爲頁面something.php不存在,則拋出一個404錯誤時。我希望它能夠提交到索引頁面,這樣我就可以用php捕獲這些值並在我的應用程序中使用它。我也想結合這個去除擴展名(.php),但仍然能夠訪問頁面。例如,而不是mydomain.com/contact.php我希望能夠鍵入mydomain.com/contact,但仍然能夠使用mydomain.com/something,並讓它提交到索引頁面,如果頁面不存在。

希望有人可以幫助我,因爲我已經嘗試了很多不同的東西,似乎沒有任何工作。我已經能夠獲得最接近的是通過使用下面的htaccess的代碼:

DirectoryIndex index.php 
Options +FollowSymLinks 
Options -MultiViews 
RewriteEngine on 
RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond $1 !^(index\.php|robots\.txt|css|index|js|robots\.txt|favicon\.ico) 
RewriteRule ^(.*)$ index.php?/$1 [L] 

然而,似乎當文件犯規存在一樣,我只想值提交到索引頁面的斜線,它不工作和它掛,並最終拋出了404

回答

0

DOCUMENT_ROOT/.htaccess文件試試這個代碼:

DirectoryIndex index.php 
Options +FollowSymLinks 
Options -MultiViews 
RewriteEngine on 
RewriteBase/

## To internally redirect /dir/foo to /dir/foo.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME}.php -f 
RewriteRule ^(.+?)/?$ /$1.php [L] 

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