2014-03-12 61 views
0

所以,前一段時間我就貼出的.htaccess Rewrite Conditions和我如何能實現更可讀的URL的問題。這樣的URL會喜歡這樣的東西:http://somedomain.com/variable/variable/variable/的.htaccess的RewriteCond(文件夾存在,但仍然被傳遞到處理函數)

RewriteCond工作完美,但現在我注意到一些影響。正在使用.htaccess子目錄(在我的情況,我用它來AuthUser)由根.htaccessRewriteCond聲明忽略。我試圖指定包含.htaccess的文件夾,但它是一個命中或缺失。在一臺電腦上,它工作的很好,我可以很好地訪問網址,但在另一臺電腦上,我不能。什麼最終結束了發生的事情是我試過的URL去(在這種情況下,「/定價」)結束變量(定價)傳遞到我的索引處理。

因此,事不宜遲,在這裏它是:

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/
RewriteCond %{REQUEST_URI} !^/pricing 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_URI} !index\.php       [NC] 
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/([^/]+)/([^/]+)/? [NC,OR] 
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/([^/]+)/? [NC,OR] 
RewriteCond %{REQUEST_URI} ^/([^/]+)/([^/]+)/? [NC,OR] 
RewriteCond %{REQUEST_URI} ^/([^/]+)/? [NC] 
RewriteRule . index.php?prefix=%1&month=%2&day=%3&title=%4 [L,NC] 

有什麼人在這裏建議改變?我的意思是,我不明白另一.htaccess在一個子目錄是如何導致這種情況發生。

謝謝 克里斯

+0

(例如,通過'http:// example.com /定價/ shoes',它會諮詢配置文件在'/定價/ shoes' ,'/ pricing','/'和主要配置(httpd.conf文件),除非它的地方。除此之外遇到'END'標誌,我沒有真正理解這個問題(可能只是我)。 – Sumurai8

回答

0

你有結構的規則,它不會工作,因爲拍攝的變量僅能從最近的RewriteCond的方式。

你可以這樣做,而不是:當你請求一個URL

Options +FollowSymlinks 
RewriteEngine On 
RewriteBase/

RewriteCond %{REQUEST_URI} !^/pricing 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^([^/]+)(?:/([^/]*)(?:/([^/]*)(?:/([^/]*))?)?)?/?$ index.php?prefix=%1&month=%2&day=%3&title=%4 [QSA,L] 
相關問題