0

我想编写一个重写规则来执行以下操作:如果服务器上存在以下任何文件作为特定目录中的静态 html 文件,那么我希望 .htaccess 提供该静态文件。否则,我希望将 id (.com/之后和第一个连字符之前的第一个数字)作为查询参数传递给www.gallery.com/index.php

如果以下 URL 不作为静态 HTML 页面存在,则应为它进行重定向。

 www.gallery.com/2-swimming.html
 www.gallery.com/2
 gallery.com/2

下面是我的整个 .htaccess 文件

<Files .htaccess> 
   order allow,deny 
   deny from all 
</Files> 


<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENANE} !-f
RewriteCond %{REQUEST_FILENANE} !-d
RewriteRule ^([0-9]+)-(.*)\.html$ /index.php?id=$1 [L]
</IfModule>

我的重写条件有什么问题吗?(我很难过)。还有什么是在重定向的情况下获取 id 的有效方法。

4

1 回答 1

0

为什么不总是把所有东西都传递给index.php?

PHP 在处理字符串方面比.htaccess

-f行已经处理了现有的静态文件。(-d对于目录)


RewriteRule ^(.*)$ /index.php?id=$1 [L,QSA]

此规则匹配并捕获所有内容。

于 2013-08-29T16:12:19.053 回答