在我的htaccess我有mod_rewrite的重寫所有的index.php,但
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]
的想法是,index.html的將加載罰款,然後在domain.com/anythinghere.html要求任何事情都會使用規則從cms.php抓取文件。
然而它不工作 - 任何線索?真的需要這種排序儘快。
在我的htaccess我有mod_rewrite的重寫所有的index.php,但
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]
的想法是,index.html的將加載罰款,然後在domain.com/anythinghere.html要求任何事情都會使用規則從cms.php抓取文件。
然而它不工作 - 任何線索?真的需要這種排序儘快。
試試這個規則:
RewriteCond $1 !^(cms\.php|index\.html)$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]
試試這個:
RewriteCond %{REQUEST_URI} !(index.html)
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]
另一種方法是使用-f
或-d
標誌,這意味着現有的文件或目錄。
RewriteCond %{REQUEST_URI} !-d
RewriteCond %{REQUEST_URI} !-f
RewriteRule ^([^/]+)/?$ cms.php?seotitle=$1 [L]
當您使用此,任何現有的文件或目錄將不會被改寫。這很有用,特別是對於css或js文件。
它不工作還。它加載我的頁面模板,但不會加載內容。如果我輸入瀏覽器mydomain.com/cms.php?seotitle=something.html,那麼它工作正常,但重寫仍然無法正常工作。 – seanprice 2009-10-18 16:42:55
它應該是index.php而不是.html嗎?關鍵部分是RewriteCond。 如果仍然無法正常工作,請將rewriterule更改爲類似test.php的東西,print_R($ _ GET) – davethegr8 2009-10-18 16:47:18
我按照test.php的說法進行操作,並在嘗試請求mydomain.com/about時得到以下結果.html Array ([seotitle] => test.php)
–
seanprice
2009-10-18 16:58:13
繁榮 - 它的工作原理 - 非常感謝! – seanprice 2009-10-18 22:49:04