2013-05-28 278 views
0

這是我的.htaccess。它重定向/contactindex.php?page=contact
這很好用。但有了這個.htaccess,如果有人把​​,他們會得到一個錯誤。.htaccess url重寫

Options +FollowSymlinks -MultiViews 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !index\.php [NC] 
RewriteRule ^([^/]+)/?$ index.php?page=$1 [QSA] 

基本上,有沒有什麼辦法,如果有在URL中沒有.php只改寫?
如果網址中有.php,例如contact.php只是加載正常.php頁面。

我該怎麼做?

+0

可能重複http://stackoverflow.com/questions/1698464/mod-rewrite-去除php-but-still-serve-the-php-file) – typeoneerror

回答

2

添加像這樣的重寫規則之前:

RewriteCond %{REQUEST_FILENAME} !-f 

-f意味着 「是一個文件」。有了這個規則,你說「請求的文件名不是一個現有的文件」(在DocumentRoot中ofc)。

更多信息和選項:http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html#rewritecond

[?MOD \ _rewrite刪除.PHP但仍服務於PHP文件(的
+0

謝謝你!你能幫我做第二部分嗎? –

+0

試試這個:'RewriteCond%{REQUEST_FILENAME}!\。php $ [NC]'(來源:http://stackoverflow.com/questions/1698464/mod-rewrite-to-remove-php-but-still-serve-在-PHP文件) –