Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php .htaccess mod_如果以字符串结尾,则重写为单独的脚本_Php_Apache_.htaccess_Mod Rewrite - Fatal编程技术网

Php .htaccess mod_如果以字符串结尾,则重写为单独的脚本

Php .htaccess mod_如果以字符串结尾,则重写为单独的脚本,php,apache,.htaccess,mod-rewrite,Php,Apache,.htaccess,Mod Rewrite,我正在写一个简单的CMS,它将重写http://host/path/to/resource至http://host/cms/render.php/path/to/resource(除非该位置存在文件,例如图像) 如果请求以某个字符串结束,如何将其重定向到其他脚本?例如: http://localhost/path/to/resource-->cms/render.php/$1 http://localhost/path/to/resource.admin-->cms/admin.php/$1 这

我正在写一个简单的CMS,它将重写
http://host/path/to/resource
http://host/cms/render.php/path/to/resource
(除非该位置存在文件,例如图像)

如果请求以某个字符串结束,如何将其重定向到其他脚本?例如:

http://localhost/path/to/resource
-->
cms/render.php/$1

http://localhost/path/to/resource.admin
-->
cms/admin.php/$1

这是我尝试过的,但我只得到一个内部服务器错误:

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} = ^(.*)\.admin$
    RewriteRule ^(.*)$ cms/admin.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ cms/render.php/$1 [L]

谢谢

我的错。在这种情况下,它不需要是一个条件:

RewriteEngine on

RewriteRule ^(.*)\.admin$ cms/admin.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ cms/render.php/$1 [L]

您是否检查了
mod_rewrite
语法?似乎-您没有在当前规则之前添加
RewriteRule
(使用相同的
RewriteCond
),例如
RewriteRule^(.*)\.admin$cms/admin.php/$1
oth