我有一個的.htaccess文件重定向任何擴展到非擴展的網址,並顯示requestedfilename + .PHP。它與(。*)條件的一部分效果很好。的.htaccess重定向所有的擴展除了CSS和JavaScript
當我鍵入domain.com/file.html或domain.com/file.xml它顯示file.php和URL看起來像domain.com/file。
我只是想知道如何從表達式中剔除擴展名如.js和.css。我不想將它們重定向到任何其他的PHP文件。
我嘗試了諸如:(。*!(JS | CSS))(。*)代替,但我無法找到一個有效的解決方案......
當前的代碼是這樣的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase/
#
# to display the name.php file for any requested extension (.*)
#
RewriteRule ^(.*)\.(.*) $1\.php
#
# to hide all type of extensions (.*) of urls
#
RewriteCond %{THE_REQUEST} ^[A-Z]+\s.+\.(.*)\sHTTP/.+
RewriteRule ^(.+)\.php $1 [R=301,L]
#
# no extension url to php
#
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteCond %{REQUEST_URI} !/$
RewriteRule (.*) $1\.php [L]
</IfModule>
正是我期待的!謝謝! – jameson 2013-03-04 14:01:38