2014-10-27 97 views
1

在.htaccess定義這樣的重寫規則htacess重寫規則爲/類別/頁

RewriteRule ^([a-zA-Z0-9_-]+)$ ___show-content.php?$1 

創建文件___show-content.php其包括代碼

echo (ltrim($_SERVER['QUERY_STRING'],'/')). '<br/>'; 

如果i型www.mydomain.com/some-page然後$_SERVER['QUERY_STRING'/some-page。這按預期工作。

但是,如果我輸入www.mydomain.com/some-page/another-page,那麼看看Not Found The requested URL /some-page/another-page was not found on this server.我什麼都看不到$_SERVER['QUERY_STRING'。如果有一個斜線(在域名之後),則工作正常,但如果超過一個,則不起作用。

需要修改RewriteRule以便在url中使用多個尾部斜槓?

回答

1

這是因爲您的正則表達式捕獲URI只允許其中一個或多個[a-zA-Z0-9_-]字符。

讓您的規則爲:

RewriteRule ^([\w/-]+)$ ___show-content.php?$1 [L,QSA]