我有几个域的以下文件结构:
/index.php [optional. for some domains no index.php file]
/content.php [always present]
如果用户请求了example.com
或example.com/
这样的网址,我想检查服务器上是否存在index.php
并将其发送给index.php
。但如果服务器上不存在index.php
,我应该将他发送给content.php
。
此外,如果请求的网址与example.com/test
或example.com/test/test2
相同,请将其发送至content.php
。
我在.htaccess
中写了这样的内容,但它没有检查index.php
是否存在。
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/([^.]+)?$ content.php?category=$1&slug=$2 [L]
RewriteRule ^([^.]+)?$ content.php?category=$1 [L]
#RewriteRule ^*$ content.php [L]
如何修改上述代码以检查index.php
是否存在?
还有任何优化该代码的建议吗?
答案 0 :(得分:0)
你不能将content.php添加到DirectoryIndex指令吗? E.g。
<IfModule mod_dir.c>
DirectoryIndex index.php content.php
</IfModule>
我认为不可能检查重写规则中是否存在文件。