2015-12-05 20 views
2

不靈敏這是我的.htaccess目前有製作網站的情況下用的.htaccess

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

Options -Indexes 

因爲它是現在,website.com/jobs作品,而website.com/Jobs沒有。

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

我繼續使我的.htaccess包含以下內容,我的網站現在提供500內部錯誤。

任何想法?

+1

爲什麼一個要進行一些簡單的URL不區分大小寫?與通常在http服務器上區分大小寫的文件系統的衝突如何?這隻會導致混亂,並沒有真正改善任何事情,我會說... – arkascha

+0

我的朋友繼續爲他的公司買了名片。唯一的問題是,他的名片說網站/喬布斯,他沒有檢查,看看它的工作。所以我試圖找出他的@arkascha – ConfusedLife123

+0

mod_speling模塊是否加載到Apache配置中? – anubhava

回答

1

我只是通過技術支持告訴mod_speling未啓用。主要的問題是/ Jobs到/ jobs。反正有沒有mod_speling做到這一點?

你可以這樣做:

Options -Indexes 
RewriteEngine on 

# handle Jobs => jobs 
RewriteRule ^Jobs/?$ /jobs [L,R=301] 

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

我認爲你需要使用不區分大小寫的檢查中重寫規則

的[NC]標誌的使用造成的重寫規則,以在 不區分大小寫的方式進行匹配。也就是說,它不關心字母 是否在匹配的URI中顯示爲大寫或小寫。

所以也許

RewriteRule ^[Ww](.*)$ $1.php [NC] 

將工作

+0

我去了,用[NC]標籤試了一下。它沒有工作,沒有檢查拼寫和檢查項目 – ConfusedLife123

+0

好的,在這種情況下,我認爲你需要添加條件不區分大小寫的正則表達式,請看我更新的答案。我不確定上述規則是否正確,但這個概念對你有用 – thepiyush13

+0

這就是我現在的http://pastebin.com/raw.php?i=UeWmcpS5。這給了我500個內部服務器。沒有Checkspelling的東西時,我沒有找到website.com/jobs和website.com/Jobs。但網站仍然加載好 – ConfusedLife123

相關問題