htaccess重写是有效的,但不是很好

时间:2015-12-26 12:47:43

标签: apache .htaccess mod-rewrite

我写了一个.htaccess文件,什么可以重写所有网址,但它无法打开存在的文件。为什么?我在Mac OS X下使用Apache Web服务器和XAMPP。

DirectoryIndex index.html index.php
Options -Indexes +FollowSymlinks

RewriteEngine on
RewriteBase /eight

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^([^/]*)?$ index.php?kategoria=$1 [L]
RewriteRule ^([^/]*)/([^/]*)?$ index.php?kategoria=$1&datum=$2 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)?$ index.php?kategoria=$1&datum=$2-$3 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)?$ index.php?kategoria=$1&datum=$2-$3-$4 [L]
RewriteRule ^([^/]*)/([^/]*)/([^/]*)/([^/]*)/([^/]*)?$ index.php?kategoria=$1&datum=$2-$3-$4&url_title=$5 [L]

我知道" RewriteCond%{REQUEST_FILENAME}!-d"和 " RewriteCond%{REQUEST_FILENAME}!-f"命令应该到达存在的文件。

谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

RewriteCond仅适用于它们之前的1个RewriteRule,但您可能需要在所有那些将路径复制到查询字符串的RewriteRules之前进行检查。

您需要复制这些条件。